Skip to main content
Form Post を使用する Implicit Flow を使って、シングルページアプリケーション (SPA) にログインを追加できます。このフローの仕組みと、これを使用すべき理由については、Implicit Flow with Form Post をお読みください。 Form Post を使用する Implicit Flow は、ログインのみのユースケースで使用してください。ユーザーのログイン時に API を呼び出せるよう もリクエストする必要がある場合は、PKCE を使用した Authorization Code フローを使用してください。詳しくは、Authorization Code Flow with Proof Key for Code Exchange (PKCE) をお読みください。 Form Post を使用する Implicit Flow を実装するには、次のリソースを利用できます。
  • Express OpenID Connect SDK: このフローを実装する最も簡単な方法で、面倒な処理の大半を担ってくれます。弊社の Javascript SDK を使用する場合は、ご利用のアーキテクチャに適した対策を実装していることを確認してください。詳しくは、Auth0.js Reference をお読みください。
  • Authentication API: 独自のソリューションを構築したい場合は、このまま読み進めて、API を直接呼び出す方法をご確認ください。
ログインが成功すると、アプリケーションはユーザーの ID トークン にアクセスできるようになります。 には、基本的なユーザープロファイル情報が含まれます。

前提条件

Auth0 にアプリを登録します。詳しくは、シングルページアプリケーションの登録を参照してください。
  • アプリケーションの種類Single-Page App を選択します。
  • Allowed Callback URL{https://yourApp/callback} を追加します。
  • アプリケーションの グラントタイプImplicit が含まれていることを確認します。詳しくは、グラントタイプの更新を参照してください。

ユーザーを認可する

ユーザーの認可を取得し、アプリにリダイレクトして戻します。フローを開始するには、まずユーザーの認可を取得する必要があります。このステップには、次のプロセスの 1 つ以上が含まれる場合があります。
  • ユーザーを認証すること;
  • 認証を処理するために、ユーザーを にリダイレクトすること;
  • アクティブな (SSO) セッションを確認すること;
  • 以前に同意が与えられていない場合は、要求された権限レベルについてユーザーの同意を取得すること。
ユーザーを認可するには、アプリからユーザーを認可 URL に送信する必要があります。

認可URLの例

パラメータ

例として、アプリに login を追加する際の認可 URL 用 HTML スニペットは次のようになります。

レスポンス

問題なく進むと、HTTP 302 レスポンスが返されます。要求した資格情報はレスポンスボディにエンコードされています:
返される値は、response_type に何を指定したかによって異なる点に注意してください。 Auth0 は、認可 URL の呼び出し時に含めた state 値も返します。
トークンは保存する前に検証してください。方法については、ID トークンを検証するアクセストークンを検証する を参照してください。
ID トークンには、デコードして抽出する必要のあるユーザー情報が含まれています。

ユースケース

基本的な認証リクエスト

この例では、ステップ 1 でユーザーを認証する際に送信できる、最も基本的なリクエストを示します。Auth0 のログイン画面が表示され、設定済みの任意の接続を使ってユーザーがサインインできます。 これにより、ID トークンが返されます。この ID トークンはリダイレクト URL から取得できます。

ユーザーの名前とプロフィール画像を要求する

この例では、通常のユーザー認証に加えて、名前やプロフィール画像などの追加のユーザー情報を要求する方法を示します。 ユーザーの名前とプロフィール画像を要求するには、ユーザーの認可時に適切なスコープを追加する必要があります。 これで、ID トークンに要求した name とプロフィール画像のクレームが含まれます。ID トークンをデコードすると、次のようになります。

GitHub でユーザーをログインさせる

通常のユーザー認証に加えて、この例では GitHub のようなソーシャルアイデンティティプロバイダーにユーザーを直接リダイレクトする方法を示します。この例を機能させるには、Auth0 Dashboard > 認証 > Social に移動して、適切な接続を設定する必要があります。接続名は 設定 タブで確認してください。 ユーザーを GitHub のログイン画面に直接送るには、ユーザーを認可する際に connection パラメーターを渡し、その値を接続名 (この場合は github) に設定する必要があります。 これで、ID トークンには GitHub から返されたユーザー固有の ID を持つ sub クレームが含まれるようになります。ID トークンをデコードすると、次のような内容になります。

詳細情報