仕組み
- ユーザーがアプリケーション内で Login を選択します。
- アプリケーションはユーザーを Auth0 認可サーバー (
/authorizeendpoint) にリダイレクトし、要求する認証情報の種類 (IDトークンと認可コード) を示すresponse_typeパラメーターと、セキュリティを確保するためのresponse_modeパラメーターform_postを渡します。 - Auth0 認可サーバーはユーザーをログインおよび認可のプロンプトにリダイレクトします。
- ユーザーは設定済みのログインオプションのいずれかで認証し、Auth0 がアプリケーションに付与する権限を示す同意プロンプトが表示される場合があります。
- Auth0 認可サーバーは、指定された
response_typeに応じて、1回限り有効な認可コードと、IDトークン、アクセストークン、またはその両方を付けてユーザーをアプリケーションにリダイレクトします。 - アプリケーションは、認可コード、アプリケーションのクライアントID、およびクライアントシークレットや Private Key JWT などのアプリケーション認証情報を Auth0 認可サーバー (
/oauth/tokenendpoint) に送信します。 - Auth0 認可サーバーは、認可コード、アプリケーションのクライアントID、およびアプリケーション認証情報を検証します。
- Auth0 認可サーバーは、2つ目のIDトークンとアクセストークン (必要に応じてリフレッシュトークンも) を返します。
- アプリケーションは、2つ目のアクセストークンを使用して API を呼び出し、ユーザーに関する情報にアクセスできます。
- API は要求されたデータを返します。
アプリケーションでサインオンのためだけに Hybrid Flow を使用する場合は、リフレッシュトークンやアクセストークンは不要で、必要なのはクレームを含む IDトークン のみです。