Référence d’authentification authentication-reference
Utilisez cette page pour rechercher des champs et des contrats d’authentification. Pour obtenir des instructions de configuration, voir Authentifier les utilisateurs finaux avec votre propre fournisseur d’identité.
Paramètres d’authentification authentication-settings
Ouvrez Paramètres > Authentification. Chaque environnement stocke ses propres paramètres. Utilisez le sélecteur pour sélectionner l’environnement à modifier ; l’enregistrement des paramètres n’affecte jamais l’autre environnement.
iss attendue. Doit être HTTPS. Également publié comme serveur d’autorisation de cette application. Un fournisseur d’identité par applicationLes règles de validation
offline_access est répertorié dans Portées prises en charge ou sur une actionoffline_access demande un jeton d’actualisation à votre serveur d’autorisation plutôt que d’accorder l’accès à cette application. Il ne s’agit donc pas d’une portée que cette application annonce. Vous n’avez pas besoin de le répertorier : la plateforme LLM le demande directement à votre serveur d’autorisationLes barres obliques de fin sur Émetteur sont normalisées. La comparaison des iss tolère la différence, de sorte que les jetons d’un fournisseur qui inclut toujours une barre oblique restent valides.
Modes d’authentification auth-modes
Définissez par action sous Configuration par action.
noauthoauth2noauth et oauth2Un gestionnaire d’action Obligatoire ne s’exécute jamais sans jeton valide et de portée correcte. Un gestionnaire d’action facultatif s’exécute toujours et peut demander à se connecter lui-même avec extra.challengeAuth().
Obligatoire est donc le seul mode qui rejette les appelants non authentifiés. Une application rejette tous les appels anonymes uniquement lorsque chaque action est obligatoire. Si une action est Aucune ou Facultative, l’application utilise l’authentification mixte, car au moins une action accepte les appels anonymes.
Les modes d’authentification prennent effet uniquement lorsque l’option Activer l’authentification est activée. Les modifications prennent effet lors du prochain déploiement de l’application.
La modification du commutateur d’authentification réécrit également les modes par action :
La commutation de ne réécrit jamais les modes. Le sélecteur charge la configuration enregistrée de l’autre environnement sans la modifier.
Avec l’option Activer l’authentification activée et chaque action définie sur Aucune, l’application ne nécessite pas d’authentification, mais publie toujours son serveur d’autorisation pour la découverte. Pour rendre l’application entièrement publique, désactivez l’interrupteur.
Une application peut utiliser différents modes d’authentification pour des actions individuelles. Voir Comportement de plateforme LLM pour savoir comment chaque plateforme les applique.
Exigences de jeton token-requirements
Votre fournisseur d’identité doit émettre des jetons d’accès qui répondent à toutes les exigences suivantes. L’exécution traite un jeton pour lequel aucun contrôle n’a échoué comme absent : l’appelant n’est pas authentifié et une action Obligatoire demande à l’appelant de se connecter.
RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384 ou PS512. Les algorithmes HMAC tels que HS256 sont rejetésissaudexpscope ou scpscope délimitée par des espaces ou retourne à un tableau de chaînes dans scp. Utilisez l’une de ces formes pour les portées vérifiées par rapport aux exigences de chaque actionsubgetAuthenticatedUserAuthorization: Bearer <token>Toutes les réclamations forfaitaires supplémentaires incluses par votre fournisseur (par exemple, tenant ou email) sont transmises à votre gestionnaire. Les objets imbriqués sont supprimés et les valeurs de chaîne longues sont tronquées.
Découverte de fournisseur d’identité discovery
Votre application publie ses propres métadonnées de ressources protégées RFC 9728 afin que les plateformes LLM puissent localiser votre serveur d’autorisation. Vous n’avez pas besoin de créer, d’héberger ou de configurer les métadonnées de la ressource protégée.
Votre fournisseur d’identité doit fournir les informations de découverte suivantes :
jwks_uri ; il ne retourne pas au chemin de découverte OIDChttps://auth.example.com/oauth2/default diffuse ses métadonnées sur https://auth.example.com/.well-known/oauth-authorization-server/oauth2/defaultAPI d’authentification du gestionnaire handler-auth-api
Le package @adobe/llm-apps-runtime exporte les assistants suivants. Chaque helper accepte extra, le deuxième argument que votre gestionnaire reçoit.
getAuthenticatedUser(extra)sub de l’utilisateur connecté ou undefined lorsque l’appel n’est pas authentifiéhasScope(extra, scope)true lorsque le jeton de l’appelant porte des scopeLes informations du jeton vérifié sont disponibles dans extra.authInfo, qui est undefined pour un appel non authentifié.
authInfo.tokenauthInfo.clientIdclient_id ou azp, ou unknownauthInfo.scopesauthInfo.expiresAtexpauthInfo.resourceauthInfo.extrasub plus toutes les autres réclamations forfaitaires incluses par votre fournisseur d’identitéextra.challengeAuth(options) est disponible uniquement sur les actions facultatives. Renvoyez son résultat à partir de votre gestionnaire pour demander à l’utilisateur de se connecter au lieu de renvoyer du contenu.
L’assistant renvoie un résultat de l’outil comme défi pour ChatGPT. Claude nécessite un défi HTTP au niveau du transport. Le runtime fournit ce défi pour les actions Obligatoires, mais pas par le biais de l’assistant optional-handler.
errorinvalid_token, insufficient_scope ou invalid_request. La valeur par défaut est insufficient_scope.errorDescriptionscopeerror explicitement. Utilisez invalid_token pour un appelant sans session valide et insufficient_scope uniquement pour un appelant dont le jeton est valide mais n’a pas de portée requise. Le runtime transmet la valeur à la plateforme LLM, qui choisit le libellé de l’invite de connexion. Envoyez le code qui décrit précisément la condition plutôt que le code avec l’invite de votre choix.Comportement de la plateforme LLM platform-behavior
Les deux plateformes prennent en charge les actions publiques et protégées dans la même application, mais leurs déclencheurs de connexion diffèrent.
extra.challengeAuth() du gestionnaire facultatifVoir Authentification différée Claude et Authentification ChatGPT pour connaître le comportement actuel du client. L’interface utilisateur et la politique du connecteur peuvent varier en fonction du compte et de l’organisation.