4

私はRESTサーバーとそのためのクライアントを構築しています。次に、サードパーティのoauth2認証を埋め込む必要があります。今、私はユーザーをサーバーに誘導し、ユーザーにサービスへの認証を許可してから、次のようにクライアントにリダイレクトします。

クライアント:認証されていません->サーバー->サードパーティにリダイレクト->サーバーにリダイレクト->アプリにリダイレクト。

次に、ユーザーを識別するためにクライアントにCookieを保存します(CookieはwithCredentialsとCORSを使用して送信されます)。

私の問題は、トークンの有効期限が切れたときに再認証をどうすればよいかということです。クライアントとサーバーはjsonを介してのみ通信するため、完全な認証プロセスを再度開始する必要があり、ユーザーはアプリのすべての状態を失うことになります。この問題を回避する方法について誰かが提案を持っていますか?クライアント側で認証を行い、アクセストークンをサーバーなどに保存する方が良いですか?

4

1 に答える 1

1

何を行っても、OAuth access_tokenを取得する適切な方法です。また、access_tokenは一時的なものであるため、有効期限が切れる可能性があります。

私はあなたがこれらのいずれかを行うことができると思います:

  1. 認可サーバー (トークンの取得に使用する) が、 access_tokenを使用してより長い期間のトークンを取得するオプションを提供しているかどうかを確認します。これは OAuth 2 仕様でも提案されています。

  2. セッションを使用せずにユーザーの状態を保存してみてください。

于 2013-02-21T12:25:02.743 に答える