メインコンテンツへスキップ
認証時に、 (IdP) にプロバイダー固有のパラメーターを渡すことができます。値は、接続ごとに固定することも、ユーザーごとに動的に設定することもできます。

制限事項

この構成では、次の制限事項に注意してください。
  • 有効な OAuth 2.0/OIDC パラメーターのみ受け付けられます。
  • すべての IdP がアップストリームパラメーターをサポートしているわけではありません。実装を進める前に、対象の IdP に確認してください。
  • IdP はアップストリームパラメーターをサポートしていません。

静的パラメーター

静的パラメーターを使用すると、ユーザーのログイン時に標準的なパラメーターのセットを IdP に送信するよう接続を設定できます。 静的パラメーターを設定するには、Auth0 の 接続を作成する エンドポイントまたは 接続を更新する エンドポイントを呼び出し、IdP に送信するパラメーターを含む upstream_params オブジェクトを options オブジェクト内で渡します。

例: WordPress

WordPress では、 の認可エンドポイントに任意の blog パラメーターを渡すことで、ユーザーのログイン時に指定したブログへのアクセスを自動的に要求できます。詳しくは、WordPress の OAuth 2.0 ドキュメントを参照してください。 この例を実行するには、有効な WordPress Social 接続 が必要です。

接続を取得する

Management API の Get a connection エンドポイントを呼び出し、options オブジェクトの現在の値を取得します。 options オブジェクトは次のようになります。
{
  "options": {
    "client_id": "", 
    "profile": true, 
    "scope": ["profile"]
  }
}

接続を更新する (静的)

既存のoptionsオブジェクトをコピーし、属性としてblogフィールドを含むupstream_paramsオブジェクトを追加します。
{
  "options": {
    "client_id": "", 
    "profile": true, 
    "scope": ["profile"],
    "upstream_params": {
      "blog": {"value":"myblog.wordpress.com"}
    }
  }
}
リクエスト本文に options オブジェクトを含めて、Management API の Update a connection エンドポイントを呼び出します。 これで、この接続でユーザーが認証されるたびに、WordPress 認可エンドポイントへのリクエストにクエリパラメーター blog=myblog.wordpress.com が含まれるようになります。

動的パラメーター

動的パラメーターを使用すると、ユーザーのログイン時に、そのユーザー固有の値を持つ一連のパラメーターを IdP に送信するよう接続を設定できます。 動的パラメーターを設定するには、Auth0 Management API の Create a connection または Update a connection エンドポイントを呼び出し、IdP に送信するパラメーターを options オブジェクト内の upstream_params オブジェクトとして渡します。また、alias 属性を使用して、そのパラメーターのマッピング先となるフィールドを指定します。 以下は options オブジェクトのサンプルです。これについては後ほど X の例で再度取り上げます。
{
  "options": {
    "upstream_params": {
      "screen_name": {
        "alias": "login_hint"
      }
    }
  }
}

使用可能なフィールド

alias 属性で使用できるフィールドは次のとおりです。
  • acr_values
  • audience
  • client_id
  • display
  • id_token_hint
  • login_hint
  • max_age
  • prompt
  • resource
  • response_mode
  • response_type
  • ui_locales

例: X

X では、OAuth 認可エンドポイントにオプションの screen_name パラメーターを渡せます。screen_name パラメーターを指定すると、ログイン画面の username 入力欄にその値が事前入力されます。詳しくは、X の API リファレンスを参照してください。 この例に従うには、動作する X ソーシャル接続 が必要です。

接続を取得する

Management API の Get a connection エンドポイントを呼び出し、options オブジェクトの現在の値を取得します。 options オブジェクトは、次のようになります。
"options": {
  "client_id": "YOUR_CLIENT_ID",
  "client_secret": "YOUR_CLIENT_SECRET",
  "profile": true
}

接続を更新する (動的)

既存のoptionsオブジェクトをコピーし、属性としてscreen_nameフィールドを含むupstream_paramsオブジェクトを追加したうえで、alias属性をlogin_hintに設定します:
{
  "options": {
    "client_id": "", 
    "profile": true, 
    "scope": ["profile"],
    "upstream_params": {
      "screen_name": {
        "alias": "login_hint"
      }
    }
  }
}
リクエスト本文に options オブジェクトを指定して、Management API の Update a connection エンドポイントを呼び出します。

ログインエンドポイントを呼び出す

ユーザーに対して Authentication API の Login endpoint を呼び出す際は、そのメールアドレスを login_hint パラメーターに渡すことができます。 この値は、screen_name パラメーターとして X の認可エンドポイントに渡されます。
https://api.x.com/oauth/authorize
  ?oauth_token={yourXAuthToken}
  &screen_name=user@domain.com