J'ai un tas de clés d'API et de secrets (Stripe, Cloudinary, etc.), qui sont actuellement codés en dur dans mon application. Où est le bon endroit pour les stocker? Devraient-ils être sur le serveur et que je stocke simplement l'URL du serveur à ma fin (pour que si les clés changent, l'application continue de fonctionner)?
par exemple, j'ai ceci dans mon fichier délégué d'application:
func configureStripe(){
STPPaymentConfiguration.sharedConfiguration().publishableKey = "pk_test_1234rtyhudjjfjjs"
STPPaymentConfiguration.sharedConfiguration().appleMerchantIdentifier = "merchant.com.myapp"
}
Il n'y a pas de meilleur moyen. Cela dépend de beaucoup de choses. Cherchez cette réponse - https://stackoverflow.com/a/14865695/1760199 , et choisissez le moyen le plus pratique pour vous.
Dans le cas de Stripe, cela n'a pas d'importance tant que Stripe a été conçu dans cet esprit, à tel point qu'ils assument la responsabilité financière de la conformité PCI. Ils ont des méthodes plus complexes d'authentification d'un utilisateur et de limitation d'accès.
La meilleure pratique consiste à placer votre URL api de chaîne dans du texte d'avion dans une classe ou un contrôleur, ne mettez pas d'informations.
J'utilise une classe d'aide:
class ApiUrl
{
static var api = "www.api.com/api/"
}
let api = ApiUrl.api
Sur la plate-forme Apple, vous êtes invité à utiliser https://developer.Apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/01introduction/introduction.html