メインコンテンツへスキップ
Resource Owner Password Flow ( Password Grant または ROPG と呼ばれることもあります) は、高い信頼性を前提とするアプリケーションでアクティブ認証を提供するために使用されます。認可コードグラントやインプリシットグラントとは異なり、この認証メカニズムではユーザーを Auth0 にリダイレクトしません。単一のリクエストでユーザーを認証し、パスワード認証情報をトークンに交換します。 OIDC 準拠パイプラインは、次の点で Resource Owner Password Flow に影響します。
  • 認証リクエスト
  • 認証レスポンス
  • の構造
  • の構造

認証リクエスト

従来

POST /oauth/ro HTTP 1.1
Content-Type: application/json
{
  "grant_type": "password",
  "client_id": "123",
  "username": "alice",
  "password": "A3ddj3w",
  "connection": "my-database-connection",
  "scope": "openid email favorite_color offline_access",
  "device": "my-device-name"
}
offline_access スコープを指定して を要求する場合にのみ、device パラメーターが必要です。

OIDC準拠

POST /oauth/token HTTP 1.1
Content-Type: application/x-www-form-urlencoded
grant_type=http%3A%2F%2Fauth0.com%2Foauth%2Fgrant-type%2Fpassword-realm&client_id=123&username=alice&password=A3ddj3w&realm=my-database-connection&scope=openid+email+offline_access&audience=https%3A%2F%2Fapi.example.com
  • 認証情報交換を実行するエンドポイントは /oauth/token です。
  • Auth0 独自の grant type は、特定の接続 (realm) のユーザーを認証するために使用されます。標準の OIDC password grant もサポートされていますが、realm などの Auth0 固有のパラメーターは受け付けません。
  • favorite_color は、現在は有効なスコープではありません。
  • device パラメーターは削除されました。
  • audience パラメーターは省略可能です。

認証レスポンス

従来

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
    "access_token": "SlAV32hkKG",
    "token_type": "Bearer",
    "refresh_token": "8xLOxBtZp8",
    "expires_in": 3600,
    "id_token": "eyJ..."
}
  • 返されるアクセストークンは、/userinfo エンドポイントの呼び出しでのみ有効です。
  • リフレッシュトークンが返されるのは、device パラメーターが渡され、offline_access スコープが要求された場合のみです。

OIDC準拠

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
    "access_token": "eyJ...",
    "token_type": "Bearer",
    "refresh_token": "8xLOxBtZp8",
    "expires_in": 3600,
    "id_token": "eyJ..."
}
  • 返されるアクセストークンは、/userinfo エンドポイントの呼び出しに使用できます (audience パラメーターで指定した API が、署名アルゴリズム として RS256 を使用している場合) 。また、必要に応じて、audience パラメーターで指定した の呼び出しにも使用できます。
  • パブリックアプリケーションから要求された場合、IDトークンは強制的に RS256 で署名されます。詳細については、機密アプリケーションとパブリックアプリケーション を参照してください。
  • リフレッシュトークンは、offline_access スコープが付与された場合にのみ返されます。

IDトークンの構造

従来

OIDC準拠

  • パブリックアプリケーションから要求された場合、IDトークンは強制的に RS256 で署名されます。
  • favorite_color クレームは名前空間付きである必要があり、Rule を使用して追加する必要があります。詳しくは、名前空間付きカスタムクレームを作成するを参照してください。

アクセストークンの構造 (省略可)

従来

JSON
SlAV32hkKG
返されるアクセストークンは不透明で、/userinfo エンドポイントの呼び出しにのみ有効です。

OIDC 準拠

  • 返されるアクセストークンは、audience パラメータで指定された API が であり、かつ として RS256 を使用している場合、/userinfo エンドポイントおよび audience パラメータで指定されたリソースサーバーの呼び出しに使用できる です。
  • 指定された /userinfo のみである場合でも、不透明なアクセストークンが返されることがあります。

標準のパスワードグラントリクエスト

Auth0 の password realm grant は標準の OIDC では定義されていませんが、Auth0 固有の realm パラメーターをサポートしているため、従来の resource owner エンドポイントに代わる選択肢として推奨されています。OIDC 認証を使用する場合は、標準の OIDC フローもサポートされます

詳細情報