2017-02-18 8 views
2

APIキーと秘密(Stripe、Cloudinaryなど)がたくさんあります。これは現在、アプリでハードコードされています。それらを保管する正しい場所はどこですか?彼らはサーバーにいなければなりません、私はちょうど私の最後にサーバーのURLを格納しています(キーが変わった場合でもアプリケーションは引き続き動作します)。SwiftにAPIキーをどこに保存しますか?

例えば、私は私のアプリデリゲートファイルでこれを持っている:リンゴのプラットフォームで

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

STPPaymentConfiguration.sharedConfiguration().appleMerchantIdentifier = "merchant.com.myapp" 
    } 
+1

はい、秘密鍵は確実にあなたのサーバ上にあるべきであり、決してクライアント側のコードでは決して*存在しません。 –

+0

クライアント側で保存したい場合は、 'SSKeyChain'のようなライブラリを使うと便利だと思います。 – KrishnaCA

+1

Cloudineについてはわかりませんが、クライアント上で使用しているキーはpublishableKeyです。 APIとのやりとりのためにストライプで保護されているとはみなされません。そのため、あなたは他の秘密鍵を使用してサーバーからすべてを行う必要があります。プライベートクライアント側には何も保存しないでください。ただし、絶対に必要な場合は、アプリでハードコードしたり、plistで保存したりしないでください。オプションは、キーを取得し、SSLを使用し、キーチェーンに格納するために、アプリケーションからバックエンドにネットワーク要求を行います。まだ完全には安全ではありませんが、重大な敏感さではないものに対してはすべきです。 – JustinM

答えて

1

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

関連する問題