2

API からデータを取得する Android アプリを作成しています。

アプリが最初に行うことは、ユーザーが資格情報を使用してサインインできるようにすることです。

  • 私の質問は、API でセッションを処理する必要があるかどうかです。または、リクエストごとにユーザーを認証する必要がありますか?
  • ネイティブ Android アプリはデバイス上でユーザー資格情報を保持し、サインイン後にすべての要求に対してそれらを送信しますか?
  • を使用してRetrofitいます。ユーザーがサインインした後、ユーザー資格情報を送信するにはどうすればよいですか?
4

1 に答える 1

-1

これは、深く掘り下げて OAuth を読む良い機会です。あなたのユースケースは完全に一致しているようです。必要な主な手順は 2 つあります。認証と承認です。ここで簡単に説明しました: Dropwizard でのリソースの認証. DropWizard の部分は無視できます。REST の概念は変わりません。説明の短いバージョンは次のようになります: ユーザーが電話にアプリをインストールします。ユーザー名とパスワードを使用して 1 回認証します (SSL を介した REST への POST 要求)。サービスはユーザーを認証し、「refresh_token」と「access_token」を返します。これは、サービス側で access_token/refresh_token をユーザーとマッピングして保存するときに、アプリがその側に保存します。後続のすべてのリクエストで、アプリは「access_token」を「Authentication」ヘッダーの一部として送信しません。これは、サーバー側で解析し、access_token がまだ有効かどうか (access_token の有効期限が切れていると仮定)、および有効かどうかを確認します。 、承認/認証プロセスを完了します。万が一、アクセス トークンの有効期限が切れている場合、401 がアプリに返されます。その後、アプリは「refresh_token」を使用して新しい access_token を取得する必要があり、新しい access_token で承認されると (これはもちろんサーバー側でユーザーの ID にマップされます)、それ以降のすべての呼び出しでは新しい access_token が使用されます。有効期限が切れます。これは OAuth の単純化されたバージョンであり、仕様に厳密に従っていません。これは、開始するための非常に基本的な認証/承認フローです。これが役立つことを願っています!有効期限が切れるまで。これは OAuth の単純化されたバージョンであり、仕様に厳密に従っていません。これは、開始するための非常に基本的な認証/承認フローです。これが役立つことを願っています!有効期限が切れるまで。これは OAuth の単純化されたバージョンであり、仕様に厳密に従っていません。これは、開始するための非常に基本的な認証/承認フローです。これが役立つことを願っています!

于 2013-12-19T09:06:07.203 に答える