メインコンテンツへスキップ
認証中、プロバイダー固有のパラメーターをIDプロバイダー()に渡せます。値は、接続ごとに静的またはユーザーごとに動的のいずれにも設定できます。

制限事項

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

静的パラメーター

ユーザーがログインする際、パラメーターの標準セットをIdPに送信するため、静的パラメーターを用いて接続を設定します。 静的パラメーターを設定するには、Auth0 接続の作成または接続の更新エンドポイントを呼び出し、オプションオブジェクトでupstream_paramsオブジェクトをIdPに送信したいパラメーターとともに渡します。

例:WordPress

WordPressでは、その認証エンドポイントに任意のblogパラメーターを渡せ、ユーザーがログインした際、特定のブログへのアクセスを自動的に要求します。詳細は、WordPressのOAuth 2.0ドキュメンテーションをお読みください。 この例に従うのであれば、稼働中のWordPressソーシャル接続が必要になります。

接続を取得する

Management APIの接続の取得エンドポイントを呼び出し、optionsオブジェクトの既存の値を取得します:
curl --request GET \
  --url 'https://{yourDomain}/api/v2/connections/%7ByourWordpressConnectionId%7D' \
  --header 'authorization: Bearer {yourMgmtApiAccessToken}' \
  --header 'content-type: application/json'
optionsオブジェクトは、次のようになります:
{
  "options": {
    "client_id": "", 
    "profile": true, 
    "scope": ["profile"]
  }
}

接続を更新する(静的)

既存のオプションオブジェクトをコピーし、blogフィールドを次の属性としてupstream_paramsオブジェクトを追加します:
{
  "options": {
    "client_id": "", 
    "profile": true, 
    "scope": ["profile"],
    "upstream_params": {
      "blog": {"value":"myblog.wordpress.com"}
    }
  }
}
Management APIの接続を更新エンドポイントを、本文のoptionsオブジェクトを次の通りにして呼び出します:
curl --request PATCH \
  --url 'https://{yourDomain}/api/v2/connections/%7ByourWordpressConnectionId%7D' \
  --header 'authorization: Bearer {yourMgmtApiAccessToken}' \
  --header 'content-type: application/json' \
  --data '{"options":{"client_id":"","profile":true,"scope":["profile"],"upstream_params":{"blog":{"value":"myblog.wordpress.com"}}}}'
これで、ユーザーがこの接続と認証するたびに、Wordpress認証エンドポイントへの要求には、クエリパラメーターとなるblog=myblog.wordpress.comが含まれるようになります。

動的パラメーター

動的パラメーターを用い、接続を設定し、ログイン時にユーザーに特定の値の一連のパラメーターをIdPに送信します。 動的パラメーターを設定するには、Auth0 Management APIの接続の作成または接続の更新エンドポイントを呼び出し、オプションオブジェクトでupstream_paramsオブジェクトをIdPに送信したいパラメーターとともに渡し、エイリアス属性にマッピングされるパラメーターのフィールドを指定します。 後ほどXの例で再び説明しますが、オプションオブジェクトの一例を掲載します:
{
  "options": {
    "upstream_params": {
      "screen_name": {
        "alias": "login_hint"
      }
    }
  }
}

利用可能なフィールド

エイリアス属性に利用可能なフィールドは以下の通りです:
  • acr_values
  • オーディエンス
  • client_id
  • 表示する
  • id_token_hint
  • login_hint
  • max_age
  • prompt
  • resource
  • response_mode
  • response_type
  • ui_locales

例:X

Xにより、任意のscreen_nameのパラメーターをOAuth認証エンドポイントに渡せます。screen_nameパラメーターがログイン画面のユーザーネーム入力ボックスを指定の値で事前入力します。詳細については、「XのAPIリファレンス」をお読みください。 この例に従うのであれば、稼働中のTwitterソーシャル接続が必要になります。

接続を取得する

Management APIの接続の取得エンドポイントを呼び出し、optionsオブジェクトの既存の値を取得します:
curl --request GET \
  --url 'https://{yourDomain}/api/v2/connections/%7ByourXConnectionId%7D' \
  --header 'authorization: Bearer {yourMgmtApiAccessToken}' \
  --header 'content-type: application/json'
optionsオブジェクトは、次のようになります:
"options": {
  "client_id": "thisismyid",
  "client_secret": "thisismysecret",
  "profile": true
}

接続を更新する(動的)

既存のオプションオブジェクトをコピーし、screen_nameフィールドを次の属性としてupstream_paramsオブジェクトを追加し、alias属性をlogin_hintに設定します:
{
  "options": {
    "client_id": "", 
    "profile": true, 
    "scope": ["profile"],
    "upstream_params": {
      "screen_name": {
        "alias": "login_hint"
      }
    }
  }
}
Management APIの接続を更新エンドポイントを、本文のoptionsオブジェクトを次の通りにして呼び出します:
curl --request PATCH \
  --url 'https://{yourDomain}/api/v2/connections/%7ByourXConnectionId%7D' \
  --header 'authorization: Bearer {yourMgmtApiAccessToken}' \
  --header 'content-type: application/json' \
  --data '{"options": {"client_id": "{clientId}", "client_secret": "{clientSecret}", "profile": true, "upstream_params": {"screen_name": {"alias": "login_hint"}}}}'

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

Authentication APIのログインエンドポイントをユーザーのために呼び出す際、login_hintパラメーターにメールアドレスを渡せます:
https://{yourDomain}/authorize
  ?client_id={yourClientId}
  &response_type=token
  &redirect_uri={https://yourApp/callback}
  &scope=openid%20name%20email
  &login_hint=user@domain.com
この値は、続いてXの認証エンドポイントにscreen_nameパラメーターとして渡されます。
https://api.twitter.com/oauth/authorize
  ?oauth_token={yourXAuthToken}
  &screen_name=user@domain.com
I