1. ホーム
  2. ios

iOSで認証トークンを保存する - NSUserDefaultsとKeychainの違い?

2023-08-25 04:10:54

質問

ユーザーがサービスにログインするときに、トークンを保存する場所はどこでしょうか。私はパスワードを保存しておらず(当然キーチェーンを使用する場所です)、トークンだけを保存しています。多くの場所で、NSUserDefaultsを使用すると言われていますが、StackOverflowの一部の人々はKeychainにとても熱心なようです。

NSUserDefaults でいいのでしょうか?

どのように解決するのですか?

キーチェーンを使用することを強くお勧めします。これは、Facebookがセッション・トークンを保存するために行っていることとまったく同じです。

NSUserDefaults デバイス上でも、Mac と同期しているときでも、簡単に開いて読むことができます。したがって、ユーザーのデフォルトは、設定や構成情報のようなものには良い場所ですが、パスワードのような機密性の高いものには適していません。

セッション トークンは、ほとんどの場合、パスワードと同じように扱われるため、暗号化されるキーチェーンに安全に格納する必要があります。Apple には、いくつかのサンプルコード ( ジェネリックキーチェーン )があり、StackOverflowで検索すると他の例も見つかります。お役に立てれば幸いです。