Token de Acesso

As transações bem-sucedidas do OAuth exigem que o Servidor de Autorização do domínio de identidades do 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 que contém 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 de domínios de identidades. O token de acesso pode ser obtido usando a console do domínio de identidades ou de forma programática (executando uma chamada da 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 do assunto é exclusivo localmente e deve 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 aos domínios de identidade 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 este 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 para o ponto final /Asserter, os domínios de identidade 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 do Contexto AuthN para tokens de usuário. Não presente em tokens somente cliente.
user_displayname* O Nome para Exibição dos domínios de identidade do usuário (no máximo 255 caracteres ASCII) do Contexto AuthN. Não presente em tokens somente cliente.
user_tenantname* O Nome do Tenant do Usuário (no máximo 255 caracteres ASCII). Pode ser diferente da tenancy de recursos para casos de uso entre tenants. O GUID do locatário não é salvo especificamente no token e não está presente nos tokens somente cliente.
tenant* O Nome do Tenant do Recurso quando a solicitação do token de acesso foi feita (no máximo 255 caracteres ASCII). O GUID do Tenant do Recurso não é salvo especificamente no token.
user.tenant.name* Igual ao tenant. Isso é rastreado para fins de compatibilidade com versões anteriores até que não haja mais consumidores legados. Observação: O Nome do Tenant é o domínio de identidades.
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. Este é o caso quando a solicitação OIDC também contém escopos para algum outro servidor de recursos. Por exemplo: ["https://<domainURL>/", "https://example.com"]
iat O horário (horário da época UNIX) em que o JWT foi emitido. O UNIX Epoch Time é um número JSON que representa o número de segundos de 1970-01-01T0:0:0Z, conforme medido no UTC (Coordinated Universal Time) 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) quando o JWT expira (em segundos). Consulte a Tabela de Expiração de 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, esse é o GUID do OAuth CloudGate definido na tenancy global da oracle.
client_name* OAuth client_name. Este é o nome do cliente OAuth que está fazendo a solicitação. Quando o CloudGate está fazendo solicitações, esse é o nome do cliente CloudGate OAuth definido na tenancy oracle global.
client_tenantname* Nome do cliente (máx. 255). Pode ser diferente da tenancy de recursos para casos de uso entre tenants.

Especificando uma Expiração de 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 de 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 
}