web-dev-qa-db-ja.com

SwiftのAPIキーはどこに保存しますか?

たくさんのAPIキーとシークレット(Stripe、Cloudinaryなど)がありますが、これらは現在アプリにハードコーディングされています。それらを保管する適切な場所はどこですか?それらはサーバーにあるべきであり、サーバーのURLを自分の側に保存するだけです(キーが変更されてもアプリが引き続き機能するように)?

たとえば、アプリデリゲートファイルにこれがあります。

    func configureStripe(){
            STPPaymentConfiguration.sharedConfiguration().publishableKey = "pk_test_1234rtyhudjjfjjs"         

STPPaymentConfiguration.sharedConfiguration().appleMerchantIdentifier = "merchant.com.myapp"
    }
7
Prabhu

最善の方法はありません。それは多くのことに依存します。この回答を見てください- https://stackoverflow.com/a/14865695/1760199 、そしてあなたにとって最も便利な方法を選択してください。

1

Stripeの場合、Stripeがこれを念頭に置いて設計されているので、それほど重要ではないので、PCIコンプライアンスに関して経済的責任を負います。ユーザーを認証し、アクセスを制限するためのより複雑な方法があります。

0
David J

ベストプラクティスは、文字列apiurlをクラスまたはコントローラーのプレーンテキストに配置することです。情報は入力しないでください。

私はヘルプクラスを使用します:

class ApiUrl
{
    static var api = "www.api.com/api/"
}

let api = ApiUrl.api
0
Álvaro Agüero
0
user3441734