REST API scope troubleshooting
Troubleshooting actions can help resolve common issues when setting up or running the REST API scope.
| Issue | Action |
|---|---|
| REST API is linked with auth scope, however in runtime there is no auth scope check even using Bearer token authentication. |
|
| REST API is linked with auth_scope1, however the access token which has auth_scope2 is also able to access it. |
|
| REST API is linked with auth scope, however in runtime there is no auth scope check for basicAuth and mutualAuth. | It is expected since the REST API auth scope only applies to the OAuth access token or OIDC token. It doesn’t apply BasicAuth, Session Cookie and Certificate based authentication. |
| REST API call return 403 when using the OAuth access token. | Check for the error message "Missing required api access scope". If found then the auth scope check fails for this REST API |
Pre-defined useraccount is deleted and not sure to
restore. |
Export useraccount as xml from the other
instance and import it or create an useraccount and modify system
property glide.oauth.token.scope.useraccount to the newly created
sys_id record. |
Frequently asked questions
Following are some of the frequently asked question when using the REST API Auth scope:
- Can one OAuth token be linked with several auth scopes?
- Yes, one
oauth_entitycan be linked with multiple auth scopes, every OAuth token issued by thisoauth_entityhas the same auth scopes. - Can different OAuth tokens with different auth scopes access the same REST API?
- Yes, for the same REST API, it may be accessed by different auth scopes. As long as one auth scope is matched, the auth scope returns the results.
- Can OAuth access token with
useraccountauth scope access any REST APIs? - Yes, the
useraccounthas full access to auth scope. - Can OAuth access token OAuth scope be changed dynamically?
- Yes, the auth scoped is not hard-coded with the access token in the
oauth_credentialtable. Instead auth scope is getting from linkedoauth_entityduring runtime. - Can OAuth token keep same auth scopes after refresh?
- Yes, auth scope will not change after token refresh, unless
oauth_adminmodify auth scope linked withoauth_entity. - Pre-defined
useraccountauth scope record is deleted, can a new auth scope with nameuseraccountbe created? - Creating a new auth scope with the same
useraccountdoesn't work. In the runtime, it uses thesys_idinstead of name to do the auth scope check, modify the system property glide.oauth.token.scope.useraccount to the newly createdsys_idrecord. - If admin modify auth scoped linked with
oauth_entity, are all the existing OAuth access token issued by this OAuth entity changed also? - Yes, the auth scope is not directly linked with the OAuth access token, it is getting from
oauth_entityduring runtime. - Can different OAuth access tokens issued by the same
oauth_entityhave different auth scopes? - No, all access to the token is issued by the same
oauth_entityand always have the same auth scopes. - Can a user define different auth scopes for a particular endpoint?
- No, there is a unique constrain check for a particular REST API endpoint. However for the same REST API endpoint, it may have more than one matched auth scopes.
- Is the auth scope check used for BasicAuth also?
- No, auth scope check is only OAuth access token and OIDC token, it is not applied for basicAuth and mutualAuth