Passer au contenu principal
Vous pouvez passer des paramètres propres au fournisseur à un fournisseur d’identité () lors de l’authentification. Les valeurs peuvent être statiques par connexion ou dynamiques par utilisateur.

Limites

Pour cette configuration, il faut tenir compte des restrictions suivantes :
  • Seuls les paramètres Oauth 2.0/OIDC valides sont acceptés.
  • Tous les IdPs ne prennent pas en charge les paramètres en amont. Vérifiez auprès du fournisseur d’identité (IdP) concerné avant de procéder à votre mise en œuvre.
  • Les fournisseur d’identité (IdP)  ne prennent pas en charge les paramètres en amont.

Paramètres statiques

Utilisez les paramètres statiques pour configurer votre connexion afin d’envoyer un ensemble standard de paramètres à l’IdP lorsqu’un utilisateur se connecte. Pour configurer les paramètres statiques, appelez le point de terminaison d’Auth0 Management API Créer une connexion ou Mettre à jour une connexion et passez l’objet upstream_params dans l’objet options avec les paramètres que vous souhaitez envoyer à l’IdP.

Exemple : WordPress

WordPress vous permet de passer un paramètre blog facultatif à son point de terminaison d’autorisation  2.0, et de demander automatiquement l’accès à un blog précis pour les utilisateurs lorsqu’ils se connectent. Pour en savoir plus, veuillez consulter la documentation Oauth 2.0 de WordPress. Pour suivre cet exemple, vous aurez besoin d’une connexion WordPress via réseau social.

Obtenir la connexion

Appeler le point de terminaison Get a connection (Obtenir une connexion) de Management API pour récupérer les valeurs existantes de l’objet options :
curl --request GET \
  --url 'https://{yourDomain}/api/v2/connections/%7ByourWordpressConnectionId%7D' \
  --header 'authorization: Bearer {yourMgmtApiAccessToken}' \
  --header 'content-type: application/json'
L’objet options ressemblera à ceci :
{
  "options": {
    "client_id": "", 
    "profile": true, 
    "scope": ["profile"]
  }
}

Mettre à jour la connexion (statique)

Copier l’objet options existant, puis ajouter l’objet upstream_params avec le champ blog comme attribut :
{
  "options": {
    "client_id": "", 
    "profile": true, 
    "scope": ["profile"],
    "upstream_params": {
      "blog": {"value":"myblog.wordpress.com"}
    }
  }
}
Appelez le point de terminaison Mettre à jour une connexion de Management API avec l’objet options dans le corps.
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"}}}}'
Désormais, chaque fois qu’un utilisateur s’authentifie avec cette connexion, la demande au point de terminaison d’autorisation de Wordpress inclura le paramètre de requête blog=myblog.wordpress.com.

Paramètres dynamiques

Utilisez les paramètres dynamiques pour configurer votre connexion afin qu’un ensemble de paramètres ayant des valeurs propres à l’utilisateur soit envoyé au fournisseur d’identité (IdP) au moment où il se connecte. Pour configurer les paramètres dynamiques, appelez le point de terminaison d’Auth0 Management API Créer une connexion ou Mettre à jour une connexion, passez l’objet upstream_params dans l’objet options avec les paramètres que vous souhaitez envoyer à l’IdP et précisez le champ auquel le paramètre correspond avec l’attribut alias. Voici un exemple d’objet options que nous revisiterons plus tard dans l’exemple X :
{
  "options": {
    "upstream_params": {
      "screen_name": {
        "alias": "login_hint"
      }
    }
  }
}

Champs disponibles

Voici les champs disponibles pour l’attribut alias :
  • acr_values
  • audience
  • client_id
  • display
  • id_token_hint
  • login_hint
  • max_age
  • prompt
  • resource
  • response_mode
  • response_type
  • ui_locales

Exemple : X

X vous permet de passer un paramètre optionnel screen_name à son point de terminaison d’autorisation OAuth. Le paramètre screen_name préremplit la zone de saisie du nom d’utilisateur à l’écran de connexion avec la valeur donnée. Pour en savoir plus, veuillez consulter la Référence de l’API de X. Pour suivre cet exemple, vous aurez besoin d’une Connexion via réseau socialTwitter opérationnelle.

Obtenir la connexion

Appeler le point de terminaison Get a connection (Obtenir une connexion) de Management API pour récupérer les valeurs existantes de l’objet options :
curl --request GET \
  --url 'https://{yourDomain}/api/v2/connections/%7ByourXConnectionId%7D' \
  --header 'authorization: Bearer {yourMgmtApiAccessToken}' \
  --header 'content-type: application/json'
L’objet options ressemblera à ceci :
"options": {
  "client_id": "thisismyid",
  "client_secret": "thisismysecret",
  "profile": true
}

Mettre à jour la connexion (dynamique)

Copier l’objet options existant, ajouter l’objet upstream_params avec le champ screen_name comme attribut, puis définir l’attribut alias sur login_hint :
{
  "options": {
    "client_id": "", 
    "profile": true, 
    "scope": ["profile"],
    "upstream_params": {
      "screen_name": {
        "alias": "login_hint"
      }
    }
  }
}
Appelez le point de terminaison Mettre à jour une connexion de Management API avec l’objet options dans le corps.
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"}}}}'

Appeler le point de terminaison de connexion

Lorsque vous appelez le point de terminaison de connexion de l’Authentication API pour un utilisateur, vous pouvez transmettre son adresse courriel au paramètre 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
Cette valeur sera ensuite transmise au point de terminaison d’autorisation X sous forme de paramètre screen_name :
https://api.twitter.com/oauth/authorize
  ?oauth_token={yourXAuthToken}
  &screen_name=user@domain.com
I