Résolution des problèmes liés au périmètre de REST API
Les actions de dépannage peuvent aider à résoudre les problèmes courants lors de la configuration ou de l’exécution du périmètre de l’API REST.
| Problème | Action |
|---|---|
| L’API REST est liée au périmètre d’authentification, mais pendant l’exécution, il n’y a pas de vérification du périmètre d’authentification, même à l’aide de l’authentification par jeton de porteur. |
|
| L’API REST est liée à auth_scope1, mais le jeton d’accès qui a auth_scope2 est également en mesure d’y accéder. |
|
| L’API REST est liée au périmètre d’authentification, mais pendant l’exécution, il n’y a pas de vérification du périmètre d’authentification pour basicAuth et mutualAuth. | Elle est attendue, car le périmètre d’authentification de l’API REST ne s’applique qu’au jeton d’accès OAuth ou au jeton OIDC. Il n’applique pas l’authentification de base, les cookies de session et l’authentification basée sur les certificats. |
| L’appel d’API REST renvoie une erreur 403 lors de l’utilisation du jeton d’accès OAuth. | Vérifiez le message d’erreur « Missing required required access scope » (Périmètre d’accès API requis manquant). Si une valeur est trouvée, la vérification du périmètre d’authentification échoue pour cette REST API |
Le compte utilisateur prédéfini est supprimé et pas sûr d’être restauré. |
Exportez un compte utilisateur au format XML à partir de l’autre instance et importez-le ou créez un compte utilisateur et modifiez la propriété glide.oauth.token.scope.useraccount système dans l’enregistrement de sys_id nouvellement créé. |
Forum Aux Questions
Voici quelques-unes des questions fréquemment posées lors de l’utilisation du périmètre d’authentification de l’API REST :
- Un jeton OAuth peut-il être lié à plusieurs périmètres d’authentification ?
- Oui, un
oauth_entitypeut être lié à plusieurs périmètres d’authentification, chaque jeton OAuth émis par ceoauth_entitya les mêmes périmètres d’authentification. - Différents jetons OAuth avec des périmètres d’authentification différents peuvent-ils accéder à la même REST API ?
- Oui, pour la même API REST, il est possible d’y accéder via différents champs d’application d’authentification. Tant qu’un champ d’application d’authentification correspond, celui-ci renvoie les résultats.
- Le jeton d’accès OAuth avec le périmètre
d’authentification useraccountpeut-il accéder à n’importe quelle API REST ? - Oui, le compte utilisateur dispose d’un accès complet au périmètre
d’authentification. - Le périmètre OAuth du jeton d’accès OAuth peut-il être modifié dynamiquement ?
- Oui, le champ d’application de l’authentification n’est pas codé en dur avec le jeton d’accès de la table
oauth_credential. Au lieu de cela, le champ d’application d’authentification est obtenu à partir deoauth_entityliées pendant l’exécution. - Le jeton OAuth peut-il conserver les mêmes étendues d’authentification après l’actualisation ?
- Oui, le champ d’application d’authentification ne changera pas après
l’actualisation dujeton, sauf oauth_admin modifier le champd’application d’authentificationlié à oauth_entity. - L’enregistrement du périmètre
d’authentification useraccountprédéfini est supprimé. Est-il possible de créer un nouveau périmètre d’authentification portant le nomuseraccount? - La création d’un nouveau champ d’application d’authentification avec le même
compte d’utilisateurne fonctionne pas. Lors de l’exécution, il utilise lesys_idau lieu du nom pour effectuer la vérification du périmètre d’authentification et modifier la propriété glide.oauth.token.scope.useraccount système en tant qu’enregistrementde sys_idnouvellement créé. - Si l’administrateur modifie l’authentification dans le champ d’application lié à
oauth_entity, tous les jetons d’accès OAuth existants émis par cette entité OAuth sont-ils également modifiés ? - Oui, le périmètre d’authentification n’est pas directement lié au jeton d’accès OAuth, il est obtenu à partir de
oauth_entitypendant l’exécution. - Différents jetons d’accès OAuth émis par la même
oauth_entitypeuvent-ils avoir des périmètres d’authentification différents ? - Non, tous les accès au jeton sont émis par la même
oauth_entityet ont toujours les mêmes étendues d’authentification. - Un utilisateur peut-il définir différents périmètres d’authentification pour un point de terminaison particulier ?
- Non, il existe une vérification de contrainte unique pour un point de terminaison de REST API particulier. Toutefois, pour le même point de terminaison d’API REST, il peut avoir plusieurs champs d’application d’authentification correspondants.
- La vérification du champ d’application d’authentification est-elle également utilisée pour BasicAuth ?
- Non, la vérification du périmètre d’authentification concerne uniquement le jeton d’accès OAuth et le jeton OIDC, elle n’est pas demandée basicAuth et mutualAuth