Token de Acesso

As transações OAuth bem-sucedidas exigem que o Servidor de Autorização do domínio de identidades do serviço IAM emita tokens de acesso para uso na autenticação de uma chamada de API. Um token de acesso representa uma autorização emitida para o aplicativo cliente contendo credenciais usadas para acessar recursos OAuth protegidos.

O Token de Acesso fornece uma sessão (com escopo e expiração) que seu aplicativo cliente pode usar para executar tarefas na API REST dos domínios de identidades. O token de acesso pode ser obtido usando a console do domínio de identidades ou programaticamente (executando uma chamada de API REST usando o id e o segredo do cliente do aplicativo). Os aplicativos podem solicitar um token de acesso para acessar pontos finais protegidos de diferentes maneiras, dependendo do tipo de concessão especificado no aplicativo. Uma concessão é uma credencial que representa a autorização do Proprietário do Recurso para acessar um recurso protegido. Consulte Tipos de Concessão de Acesso.

Nome Valor
tok_type* Identifica o tipo de token: AT
iss O principal que emitiu o token: https://<domainURL>
sub Identifica a entidade (Usuário/Cliente) que está solicitando acesso. O identificador de assunto é localmente único e destina-se a ser consumido pelo cliente. No caso de tokens IDPropagation, isso contém o ID de usuário do usuário. Em outros casos, ele contém o clientID.
sub_mappingattr* O atributo usado para localizar o sub no armazenamento de IDs. Este é o mapeamento attr das definições de SSO.
sub_type

O token de acesso dos domínios de identidades contém a reivindicação sub_type que indica o tipo de assunto ( reivindicação sub) transmitido pelo token. Se o token for emitido exclusivamente em nome do cliente, o valor da reivindicação será client. Caso contrário, se o token estiver propagando uma identidade de usuário, o valor da reivindicação será user.

As entidades que processam e validam o token de acesso podem usar o valor da reivindicação sub_type para chamar a API REST /Asserter dos domínios de identidades. Use esse ponto final para solicitar Atribuições de Aplicativo para um cliente indicado pela reivindicação sub. O valor da reivindicação sub_type é passado para /Asserter usando o parâmetro de solicitação SubjectType. Sem especificar client especificamente para o ponto final /Asserter, os domínios de identidades normalmente assumem que o Asserter está solicitando informações para um usuário, em vez de para um cliente. Portanto, o parâmetro de entrada SubjectType do ponto final /Asserter e a reivindicação sub_type do token de acesso podem ser usados por entidades que processam o token de acesso para afirmar o AppRoles do cliente.

user_id* O GUID dos domínios de identidade do usuário no Contexto AuthN para tokens de usuário. Não está presente em tokens somente para cliente.
user_displayname* O Nome para Exibição dos domínios de identidade do usuário (máximo de 255 caracteres ASCII) do Contexto AuthN. Não está presente em tokens somente para cliente.
user_tenantname* O Nome do Tenant do Usuário (máximo de 255 caracteres ASCII). Pode ser diferente da tenancy do recurso para casos de uso entre tenants. O GUID do tenant não é salvo especificamente no token e não está presente em tokens somente para cliente.
tenant* O Nome do Tenant do Recurso quando a solicitação do token de acesso foi feita (máximo de 255 caracteres ASCII). O GUID do Tenant do Recurso não é salvo especificamente no token.
user.tenant.name* O mesmo que tenant. Isso é rastreado para fins de compatibilidade retroativa até que não haja mais consumidores legados. Observação: o Nome do Tenant é o domínio de identidade.
aud Contém a string de URI esperada pelo Servidor de Recursos para corresponder aos prefixos de recurso do URL de destino. Várias strings de URI podem ser especificadas usando o formato AUD padrão. Esse é o caso quando a solicitação do OIDC também contém escopos para algum outro servidor de recursos. Por exemplo: ["https://<domainURL>/", "https://example.com"]
iat A hora (horário da época UNIX) em que o JWT foi emitido. UNIX Epoch Time é um número JSON que representa o número de segundos de 1970-01-01T0:0:0Z medido no Tempo Universal Coordenado (UTC) até a data/hora.
sid O ID da sessão do Token de Identidade é o Token de Identidade que foi usado durante a solicitação do token.
exp O tempo (horário da época UNIX) em que o JWT expira (em segundos). Consulte a Tabela de Expiração do Token.
scope A string delimitada por espaço que contém escopos.
jti O identificador exclusivo gerado pelo servidor para o ID JWT.
client_id* ID do cliente OAuth. Este é o GUID do cliente OAuth que está fazendo a solicitação. Quando o Cloud Gate está fazendo solicitações, este é o GUID do OAuth CloudGate definido na tenancy oracle global.
client_name* OAuth client_name. Este é o nome do cliente OAuth que está fazendo a solicitação. Quando CloudGate está fazendo solicitações, esse é o nome do cliente CloudGate OAuth definido na tenancy oracle global.
client_tenantname* Nome do Tenant do Cliente (máx. 255). Pode ser diferente da tenancy do recurso para casos de uso entre tenants.

Especificando a Expiração de um Token de Acesso Personalizado

Use o exemplo de solicitação e resposta a seguir para especificar um valor de expiração de token de acesso personalizado em uma solicitação de token de acesso para um domínio de identidades.

Observação

A expiração do token personalizado ainda está sujeita às regras gerais de expiração do token de acesso. Consulte a Tabela de Expiração do Token.

Exemplo de Solicitação

   curl -k -i 
   -H 'Authorization: Basic dGVzdERvbWFpbkFkbWluOmZmNGUzNGE3LWVlNGQtNDAzNy1iNmNmLTUwZGVmMmNjMzM5Zg==' 
   -H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' 
   --request POST 'https://<domainURL>/oauth2/v1/token'
   -d 'grant_type=client_credentials&scope=urn:opc:idm:__myscopes__%20urn:opc:resource:expiry=300'

Exemplo de Resposta

{
"access_token":"eyJ4NXQjUzIc....q3E8x1tTEwPthTg",
"token_type":"Bearer", 
"expires_in":300 
}