- Sécurité au niveau du protocole : conformité aux pratiques exemplaires d’OAuth 2.1 afin de garantir des flux d’autorisation modernes et sécurisés.
- Portée des fonctionnalités : garantir que les applications externes ne puissent accéder qu’aux ressources que vous autorisez explicitement.
Normes OAuth 2.1
- PKCE obligatoire : Tous les flux avec code d’autorisation exigent une clé de preuve pour l’échange de code. Cela empêche les attaques d’interception de code d’autorisation.
- Types d’octroi pris en charge :
authorization_code,refresh_tokenetclient_credentials. - Les octrois implicites et par mot de passe ne sont pas pris en charge : Ces anciens types d’octroi, qui exposent des jetons dans l’URL du navigateur ou exigent la gestion directe des identifiants, ne sont pas offerts pour les applications tierces.
Les applications tierces doivent avoir un grant explicite, même lorsqu’une API est configurée avec une politique Tout autoriser. Vous pouvez configurer des permissions par application ou des autorisation par défaut pour les applications tierces.
Les applications tierces ne peuvent pas obtenir d’accès aux API système, comme la Management API ou la My Account API.
De machine à machine (Client Credentials)
client_credentials pour l’accès de machine à machine. Cela permet des intégrations partenaires côté serveur et un accès aux API de serveur à serveur, sans intervention de l’utilisateur.
Exigences et contraintes :
- Type de client : l’application doit être un client confidentiel (
token_endpoint_auth_methodne doit pas êtrenone). - Organizations : pris en charge. Pour en savoir plus, consultez Organizations.
- Non disponible pour les applications créées au moyen de Dynamic Client Registration ou de CIMD.
- Les Actions avec le déclencheur
credentials-exchanges’exécutent comme d’habitude pour les flux d’accès de machine à machine.
Organizations
- Flux utilisateur (code d’autorisation) : L’Organization doit activer l’option au moyen de
third_party_client_access: allow, et la connexion utilisée pour le login doit être promue au niveau du domaine. Si l’un ou l’autre est absent, Auth0 renvoieinvalid_request. - Machine à machine (Client Credentials) :
allow_any_organizationn’est pas disponible. Chaque Organization doit être autorisée au moyen d’unorganization_client_grantexplicite.
Configuration restreinte du client
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 de la Management API.
Format du Client ID
client_id avec le préfixe tpc_ au moment de leur création. Ce préfixe permet à Auth0 de classer et de gérer séparément le trafic des applications tierces, y compris les limites de débit qui leur sont propres.
Le mode de sécurité et le type de propriété de l’application sont des choix de conception définitifs :
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 vice versa.
Paramètres des jetons d’actualisation
- Expiration obligatoire : Les jetons d’actualisation sans expiration ne sont pas disponibles. Une durée de vie inactive infinie n’est pas disponible.
- Rotation activée par défaut pour les clients publics : La rotation des jetons d’actualisation est activée par défaut pour les applications tierces SPA et Native, conformément aux exigences d’OAuth 2.1 et du MCP.
- Configurable : Les administrateurs peuvent ajuster les paramètres de rotation, de délai de grâce et de durée de vie pour les applications tierces créées manuellement.
Protection contre les redirections
redirection_policy contrôle la façon dont Auth0 gère les redirections pour les applications tierces. Elle accepte deux valeurs :
Les redirections sans interaction de l’utilisateur peuvent servir de vecteur d’attaque pour l’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 activée :
- 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 solution de secours doit donc être configurée pour toute utilisation de{{ application.callback_domain }}. Par exemple :
/authorize pour les applications tierces. Seuls les paramètres standard 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.