ユーザーに資格情報の入力を促すベスト プラクティスを探しています。ユーザーが電話からログインした後、別のデバイスまたは Web ページからログインしてパスワードを変更できる可能性をコーディングする必要があります。私は BASIC 認証を行っているため、そのトークンは正しくなくなり、適切に処理する必要があります。
AFNetworking で新しいプロジェクトを開始しました。AFHTTPClient をサブクラス化し、HTTPRequestOperationWithRequest メッセージをオーバーライドして、super を呼び出した後に認証チャレンジ ブロックを設定しました。そのブロックで、新しい NSURLCredential オブジェクトを作成し、送信者に送り返す必要があります。ここまではわかりました。
私が得られないのは、ユーザーにプロンプトを表示する方法です。理想的には、ログイン ボタンを使用してナビ コントローラーのログイン画面をプッシュしたいと考えています。ログイン ボタンをクリックすると、NSURLCredential が作成され、送信者に返送されます。
- チャレンジブロック内で何らかの方法でブロックする必要がありますか? それは正しくないようです。
- NSURLAuthenticationChallenge オブジェクトをグローバルに保存する必要がありますか? うわー。
- サブクラス化された AFHTTPClient からログイン ページをプッシュする必要がありますか? 関心の分離に違反しているように聞こえます。
- AppDelegate を呼び出してユーザーにプロンプトを表示し、NSURLAuthenticationChallenge オブジェクトを渡す必要がありますか? 良く聞こえますが、まだ不明です。