1

iPhone アプリケーションのワンタイム ログインを行う最良の方法を探しています。iOS 5.1.1 SDK を使用していますが、展開用に iOS 4.1 を対象としています。

その目的は、生成された ID を取得することです。ID が存在する場合は、もうログインする必要はありません。ID は XML で返されます。

私のアプリケーションは、現在の Web ベースのサービスの拡張機能です。これには、ID を識別子として位置情報を更新する際の非同期 HTTP POST と、返された XML のエラーのチェックが含まれます。ID の有効期限はありません。開始/停止ボタンが必要なだけのシングル ビュー アプリケーションです。

Web サービスのユーザー名は決して変更されないので、一度 ID を取得したいだけです。サービスの性質とアプリケーションが情報を提供しないため、人が何かをハッキングして ID を取得したとしても、利益もセキュリティ リスクもありません。ユーザーに。私が望むプロセスは次のとおりです。

  1. アプリケーションが起動しました。
  2. IDは保存されていますか?(はい・いいえ)
  3. はいの場合は、アプリケーションに進みます。
  4. ID を取得するための現在のユーザー名/パスワード画面がない場合。
  5. ユーザー名/パスワードを入力すると、パスワードが暗号化され、検証のためにサーバーに送信されます。はいの場合、ID が返されて保存されます。

ユーザー名/パスワードは、2 つの入力とログイン ボタンになります。

これについて最善の方法は何ですか?ここでどの方向に従うべきか本当にわかりません。

4

2 に答える 2

5

私がお勧めするのは、iOS のキーチェーンを使用してユーザーの ID を保存することです。安全すぎることは決してありません。使用例はここで見つけることができますGenericKeychain代わりに、これを達成するための使いやすいラッパーが多数あります。

あなたが本当にセキュリティを気にしないならNSUserDefaults、ストレージのために働きます.

また、iCloud ドキュメント ストレージを利用して、この ID をすべてのユーザー デバイスで永続化することをお勧めします。詳細については、このスレッドを参照してください。

私が提案したすべてがあなたの質問に役立つことを願っています!

更新:この回答が役立つと思う他の人のために。前述のように、キーチェーン ルートを使用する場合@sandmanzaは、必ず , を含めてください。Security.framework

于 2012-06-07T08:21:32.007 に答える
0

ID を NSUserDefault に保存し、アプリの起動時に NSUserDefault から ID を取得して、ID が存在するかどうかを確認し、それに基づいて先に進むことができます。

于 2012-06-07T08:09:45.910 に答える