Pular para o conteúdo principal

Recursos de API

Recursos de API, também conhecidos como Indicadores de Recurso, indicam os serviços ou recursos de destino a serem solicitados, geralmente uma variável no formato URI que representa a identidade do recurso. Este é um conceito chave no sistema de autorização do Logto, pois define o endpoint que a política de autorização foi projetada para proteger.

Indicador de recurso

  • Um valor de recurso indica o serviço ou recurso de destino ao qual o acesso está sendo solicitado.
  • Seu valor DEVE ser um URI absoluto.
  • O URI NÃO DEVE incluir um componente de fragmento.
  • NÃO DEVE incluir um componente de consulta.
  • Você DEVE fornecer o URI mais específico possível para a API completa ou conjunto de recursos que pretende acessar.

Na prática, um cliente pode conhecer um URI base ou o aplicativo ou recurso com o qual interagir. Seria apropriado usá-lo como o valor do parâmetro de recurso.

Por exemplo, URI base da Logto Management API.

https://tenantId.logto.app/api

Por padrão, este recurso de API é pré-registrado no seu serviço Logto. Todas as Management APIs sob este URI são protegidas pelo Logto.

Esquema de recurso de API do Logto

Nome da propriedadeDescrição da propriedadeObrigatório
Nome da APIUm nome amigável que pode ajudá-lo a identificar o recurso de API.true
Identificador da APIO valor único do Indicador de Recurso da API, com as restrições listadas acima.
O Logto usará isso para identificar o recurso de API solicitado e conceder os tokens de autorização de acordo.true
Tempo de expiração do token (em segundos)O tempo de expiração definido para token de acesso. O valor padrão de expiração é 3600.false
API padrãoApenas zero ou uma API padrão pode ser definida por locatário.
Quando uma API padrão é designada, o parâmetro de recurso pode ser omitido na solicitação de autenticação. Trocas de token subsequentes usarão essa API como o público por padrão, resultando na emissão de JWTs.false
nota

Solicitações com um token de acesso expirado devem ser restritas. Isso é implementado para proteger sua API de um token abusado. Quanto maior o valor definido, mais tempo um token de acesso emitido sobreviverá, e mais vulnerável sua API será.

API padrão

nota

Este recurso é principalmente destinado a aplicativos que NÃO suportam indicadores de recurso OIDC, por exemplo, plugins do ChatGPT.

O Logto utiliza RFC 8707: Indicadores de Recurso para OAuth 2.0 para implementar controle de acesso baseado em papel (RBAC). Embora seja um dos recursos do OAuth 2.0, ainda não é amplamente suportado.

Na implementação do Logto, cada permissão (escopo) definida pelo usuário deve estar associada a um Recurso de API. Caso contrário, será tratada como uma permissão OpenID Connect (ou OAuth). Geralmente, isso não afeta seu processo de autorização. No entanto, ao integrar com aplicativos de terceiros que não suportam RFC 8707 (por exemplo, plugins do ChatGPT), pode haver desafios, pois a solicitação de autorização inicial pode não incluir um parâmetro resource. Consequentemente, o Logto sempre emitirá Tokens de Acesso Opacos.

Para resolver esse problema, você pode designar um Recurso de API como o recurso padrão em nível de locatário. Uma vez feito isso:

Ao designar um Recurso de API padrão, você pode garantir uma integração suave com aplicativos que não suportam RFC 8707, mantendo os controles de acesso apropriados.

Registrar os recursos de API no Logto

Para obter um token de acesso restrito ao público do Logto, primeiro registre suas APIs de backend para habilitar os tokens de acesso restritos ao público do Logto. Quando uma solicitação de autorização é recebida, o Logto identificará os recursos de API registrados e concederá acesso de acordo.

Para registrar suas APIs, navegue até Console > Recursos de API. Você verá um recurso embutido com o identificador de API exibido como https://[your-tenant-id].logto.app/api. Este recurso abrange todas as Management APIs do Logto e garante que elas sejam protegidas e acessíveis apenas a usuários autorizados do Logto.

Clique no botão Criar recurso de API e siga o formulário interativo para criar seus próprios recursos de API:

  • Um nome de API legível que pode ajudá-lo a identificar melhor esta entidade.
  • Um identificador de API único no formato URI. Ele representa a identidade do recurso de API.

A nova API aparecerá na lista assim que for criada. Você pode gerenciá-la ou excluí-la na página de detalhes da API clicando na entidade.