私はlaravel/lumenアプリケーションでSSOを実装しています。私には以下のようなものがあります。リソース/アプリケーションサーバーのユーザーを認証するために認証サーバーのOauth2アクセストークンを使用する方法
- 認証laravel上のサーバ(集中ユーザディレクトリのOAuth2使用laravel /パスポート)内腔に
- リソースサーバ(Webアプリケーション、のないテーブル)
- クライアント側JSアプリ(ReactJS)
は、ワークフロー:クライアントがユーザによって承認され、を取得しているのOAuth2
- ログインボタンクライアントでは、サーバーをのauthするのにかかりますを開き、クライアントにリダイレクトします。
- クライアントは、POST要求を使用してデータサーバーにデータを送信します。これにより、認証サーバーから
access_token
,refresh_token
が取得されます。 - 次に、認証サーバー
access_token
を使用して、リソースサーバー(アプリケーションサーバー)のユーザーを承認することです。私はそれがステートレスである必要がここ
が詳細に示すフローチャートである(JWT?):
私は認証サーバーではなく、**リソースサーバー**へのユーザーの認証を求めています。認証サーバーがaccess_tokenを戻したので、ユーザーは認証サーバーですでに許可されています。 – Sisir
違いはありませんが、私は単純なワークフローを表しました! _username_と_password_を指定し、認証サーバーから 'access_token'を取得しました。これから、あなたはAppサーバーに対して行うすべてのHTTPリクエストにそのトークンを添付する必要があります。次に、ユーザーを認証するために、ヘッダーを認証サーバーに転送する必要があります。 – ironcladgeek
大丈夫、私はその部分を理解しています。しかし、アプリケーションサーバがそれ自体に対して同じアクセストークンをどのように許可/検証するのか? – Sisir