- Sécurité au niveau du protocole : harmonisation avec les pratiques exemplaires d’OAuth 2.1 pour assurer des flux d’autorisation modernes et sécurisés.
- Portée des fonctionnalités : les applications externes ne peuvent accéder qu’aux ressources que vous autorisez explicitement.
Normes OAuth 2.1
- PKCE obligatoire : Tous les flux avec code d’autorisation nécessitent Proof Key for Code Exchange. Cela empêche les attaques d’interception du code d’autorisation.
- Types d’octroi pris en charge :
authorization_code,refresh_tokenetclient_credentials. - Octrois implicites et avec mot de passe non pris en charge : Les anciens types d’octroi qui exposent des jetons dans l’URL du navigateur ou exigent la gestion directe des identifiants ne sont pas disponibles pour les applications tierces.
Les applications tierces doivent disposer d’un octroi explicite, même lorsqu’une API est configurée avec la politique Allow All. Vous pouvez configurer des autorisations par application ou des autorisations par défaut pour les applications tierces.
Les applications tierces ne peuvent pas se voir accorder l’accès aux API système, comme la Management API ou la My Account API.
Machine à machine (Client Credentials)
client_credentials pour l’accès machine à machine. Cela permet des intégrations partenaires côté backend et l’accès aux API de serveur à serveur, sans intervention de l’utilisateur.
Exigences et contraintes :
- Type d’application : l’application doit être une application confidentielle (
token_endpoint_auth_methodne doit pas êtrenone). - Organisations : l’accès machine à machine avec les organisations est pris en charge. Une autorisation d’application d’organisation explicite est requise pour chaque organisation. L’option
allow_any_organizationn’est pas autorisée pour les applications tierces. Les autorisations d’application par défaut pour les applications tierces ne peuvent pas être utilisées pour configurerorganization_usage. - Non disponible pour les applications créées au moyen de Dynamic Client Registration ou de CIMD.
- organization client grant : un lien direct vers la configuration d’une autorisation d’application d’organisation.
- Les Actions avec le déclencheur
credentials-exchanges’exécutent normalement dans les flux d’accès machine à machine.
Configuration restreinte de l’application
Pour obtenir la liste complète des propriétés prises en charge, consultez le point de terminaison Create a Client dans la référence du Management API.
Format de l’ID client
client_id avec le préfixe tpc_ lors de leur création. Ce préfixe permet à Auth0 de classifier et de gérer séparément le trafic des applications tierces, y compris les limites de débit qui leur sont appliquées.
Le mode de sécurité et l’appartenance de l’application sont des choix de conception permanents :
third_party_security_modene peut pas être modifié après la création.- Les applications tierces ne peuvent pas être converties en applications de première partie, et inversement.
Paramètres du jeton d’actualisation
- Expiration requise : Les jetons d’actualisation sans expiration ne sont pas pris en charge. Une durée de vie inactive infinie n’est pas prise en charge.
- Rotation activée par défaut pour les applications publiques : La rotation des jetons d’actualisation est activée par défaut pour les applications tierces de type SPA et natives, conformément aux exigences d’OAuth 2.1 et de MCP.
- Configurable : Les administrateurs peuvent ajuster les paramètres de rotation, de tolérance et de durée de vie pour les applications tierces créées manuellement.
Protection contre les redirections
redirection_policy contrôle la manière dont Auth0 gère les redirections pour les applications tierces. Elle accepte deux valeurs :
Les redirections sans interaction de l’utilisateur peuvent constituer un vecteur d’attaque d’hameçonnage lorsque l’URI de redirection est contrôlée par une partie non fiable (redirection ouverte). Ne définissez
redirection_policy sur allow_always que pour les applications dont les URI de rappel configurées sont fiables.
Lorsque open_redirect_protection est actif :
- Les erreurs d’authentification affichent une page d’erreur au lieu de rediriger vers l’application.
- Les modèles de courriel (vérification du courriel, réinitialisation du mot de passe, utilisateur bloqué) n’auront pas accès à
{{ application.callback_domain }}; une valeur de rechange doit donc être configurée pour toute utilisation de{{ application.callback_domain }}. Par exemple :
/authorize pour les applications tierces. Seuls les paramètres standards d’OAuth 2.0 et d’OpenID Connect sont acceptés.
Paramètres autorisés :
acr_valuesaudienceauthorization_detailsclient_idcode_challengecode_challenge_methodconnectioncorrelation_iddisplaydpop_jktext-*(paramètres personnalisés)login_hintmax_agenoncepromptredirect_uriresourceresponse_typescopestateui_locales
claimsid_token_hintinvitationlogin_ticketrequest(JAR)request_uri(PAR)screen_hint
invalid_request.