web-dev-qa-db-fra.com

Où stocker les clés d'API sur Swift?

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"
    }
6
Prabhu

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. 

1
Shyngys Kassymov

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. 

0
David J

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
0
Álvaro Agüero
0
user3441734