Solução de problemas do escopo da REST API

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 3 min. de leitura
  • Ações de solução de problemas podem ajudar a resolver problemas comuns durante a configuração ou execução do escopo da REST API.

    Tabela 1. Solução de problemas
    Problema Ação
    A REST API está vinculada ao escopo de autenticação. No entanto, no tempo de execução, não há verificação de escopo de autenticação mesmo usando a autenticação de token do portador.
    • Certifique-se de que o registro "sys_api_access_policy" esteja ativo. O tempo de execução ignora registros inativos.
    • Verifique se a propriedade com.glide.rest.api.auth.scope.check.enable está definida como falsa.
    • Verifique se o token OAuth tem escopo de autenticação useraccount.
    A REST API está vinculada a auth_scope1, mas o token de acesso que tem auth_scope2 também pode acessá-la.
    • Verifique se este registro está ativo.
    • Verifique este REST e se há outros registros que tenham as mesmas APIs, mas métodos, versões ou recursos diferentes.
    A REST API está vinculada ao escopo de autenticação. No entanto, no tempo de execução, não há verificação de escopo de autenticação para basicAuth e mutualAuth. Isso é esperado, já que o escopo de autenticação da REST API se aplica somente ao token de acesso OAuth ou ao token OIDC. Ele não se aplica à BasicAuth, cookie de sessão e autenticação baseada em certificados.
    A chamada de REST API retorna 403 ao usar o token de acesso OAuth. Verifique a mensagem de erro "Escopo de acesso de API necessário ausente". Se encontrado, a verificação do escopo de autenticação falha para esta REST API
    A useraccount predefinida foi excluída e não há certeza de que será restaurada. Exporte useraccount como xml da outra instância e importe-a ou crie uma useraccount e modifique a propriedade do sistema glide.oauth.token.scope.useraccount para o registro "sys_id" recém-criado.

    Perguntas frequentes

    A seguir estão algumas das perguntas frequentes ao usar o escopo de autenticação da REST API:

    Um mesmo token OAuth pode ser vinculado a vários escopos de autenticação?
    Sim, uma mesma oauth_entity pode ser vinculada a vários escopos de autenticação. Cada token OAuth emitido por essa oauth_entity tem os mesmos escopos de autenticação.
    Tokens OAuth diferentes com escopos de autenticação diferentes podem acessar a mesma REST API?
    Sim, a mesma REST API pode ser acessada por diferentes escopos de autenticação. Desde que um escopo de autenticação seja correspondido, o escopo de autenticação retornará os resultados.
    O token de acesso OAuth com escopo de autenticação useraccount pode acessar REST APIs?
    Sim, useraccount tem acesso total ao escopo de autenticação.
    O escopo de OAuth do token de acesso OAuth pode ser alterado dinamicamente?
    Sim, o escopo de autenticação não está codificado com o token de acesso na tabela oauth_credential. Em vez disso, durante o tempo de execução o escopo de autenticação é obtido da oauth_entity vinculada.
    O token OAuth pode manter os mesmos escopos de autenticação após a atualização?
    Sim, o escopo de autenticação não mudará após a atualização do token, a menos que o oauth_admin modifique o escopo de autenticação vinculado a oauth_entity.
    O registro de escopo de autenticação useraccount predefinido foi excluído. Um novo escopo de autenticação com o nome useraccount pode ser criado?
    Não é possível criar um novo escopo de autenticação com a mesma useraccount. No tempo de execução, ele usa o sys_id em vez do nome para fazer a verificação do escopo de autenticação. Modifique a propriedade do sistema glide.oauth.token.scope.useraccount para o registro sys_id recém-criado.
    Se o administrador modificar o escopo de autenticação vinculado a oauth_entity, todos os tokens de acesso OAuth existentes emitidos por esta entidade OAuth também serão alterados?
    Sim, o escopo de autenticação não está diretamente vinculado ao token de acesso OAuth. Ele é obtido da oauth_entity durante o tempo de execução.
    Diferentes tokens de acesso OAuth emitidos pela mesma oauth_entity podem ter diferentes escopos de autenticação?
    Não, todos os acessos ao token são emitidos pela mesma oauth_entity e sempre têm os mesmos escopos de autenticação.
    Um usuário pode definir diferentes escopos de autenticação para um endpoint específico?
    Não, há uma verificação de restrição exclusiva para um endpoint de REST API específico. No entanto, para o mesmo endpoint de REST API, ele pode ter mais de um escopo de autenticação correspondente.
    A verificação de escopo de autenticação também é usada para BasicAuth?
    Não, a verificação do escopo de autenticação é apenas para token de acesso OAuth e token OIDC, não é aplicado para basicAuth e mutualAuth