Module: @nginstack/engine/lib/oauth2/OAuth2Client

Classes

OAuth2Client

Type Definitions


AuthorizationRequestOptions

Type:
  • Object
Properties:
Name Type Argument Description
redirectUri string

No processo de autorização, o usuário é encaminhado para uma tela do autorizador externo para coleta de senha. Após a validação da senha, o autorizador encaminha o usuário de volta, redirecionando-o para a URL informada nesta propriedade.

scopes string | Array.<string> <optional>

Escopos de autorização que terão acesso solicitado.

responseType string <optional>

Indica o tipo de resposta que se espera do autorizador:

  • 'code': para requisitar um código de autorização (padrão);
  • 'token': para requisitar um token de acesso.
state string

String aleatória utilizada para aumentar a segurança do processo, mitigando ataques do tipo Cross-site request forgery. O autorizador repassa esse valor quando redireciona o usuário de volta, e o sistema pode então comparar o valor para garantir que a requisição recebida corresponde à resposta esperada do autorizador.

codeChallenge string <optional>

Permite incluir na requisição de autorização um código de PKCE.


DeviceAuthorizationResponse

Type:
  • Object
Properties:
Name Type Description
verificationUri string

URL de verificação, que deve ser acessada pelo usuário para autenticação.

verificationUriComplete string

URL de verificação que já inclui o 'userCode'.

userCode string

Código de verificação de usuário, que deve ser informado na tela de autenticação.

deviceCode string

Código de verificação de dispositivo.

expiresIn number

Tempo de validade dos códigos de usuário e de dispositivo, em segundos.


OAuth2ClientConstructorOptions

Objeto literal contendo informações de configuração para a construção de clientes da classe OAuth2Client.

Type:
  • Object
Properties:
Name Type Argument Description
clientId string <optional>

Identificador da aplicação cliente junto ao autorizador externo. Caso a instância esteja sendo criada via construtor, esse parâmetro se torna obrigatório.

clientSecret string <optional>

Palavra secreta disponibilizada pelo autorizador externo para ser enviada durante a autorização.

redirectUri string <optional>

No processo de autorização, o usuário é encaminhado para uma tela do autorizador externo para coleta de senha. Após a validação da senha, o autorizador encaminha o usuário de volta, redirecionando-o para a URL informada nesta propriedade.

authEndpoint string <optional>

Url do provedor de identidade utilizada para autenticação dos usuários.

authType string <optional>

Indica a forma como os dados de autenticação serão enviados para o autorizador:

  • 'requestBody': o 'clientId' e 'clientSecret' serão enviados no corpo da requisição HTTP;
  • 'basicAuth': o 'clientId' e 'clientSecret' serão enviados na requisição HTTP, em um cabeçalho do tipo 'Http basic authentication'.
tokenEndpoint string <optional>

Url do provedor de identidade utilizada para obtenção de tokens.

introspectionEndpoint string <optional>

Url do provedor de identidade utilizada para consultar informações sobre um token emitido previamente.

revocationEndpoint string <optional>

Url do provedor de identidade utilizada para revogar um token. Podem ser revogados tokens de acesso ou tokens de renovação (refresh tokens).

deviceAuthorizationEndpoint string <optional>

URL de autorização de dispositivo, utilizada no fluxo de autorização de dispositivo.


TokenIntrospectionResponse

Type:
  • Object
Properties:
Name Type Argument Description
active boolean

Indica se o token informado está ativo.

clientId string <optional>

Identificador do cliente.

username string <optional>

Identificador do usuário logado.

tokenType string <optional>

Tipo do token.

issuedAt number <optional>

Marca de tempo correspondente ao momento em que o token foi emitido. Valor numérico representando o número de segundos desde 01/01/1970, às 00:00:00 horas (UTC).

expiresAt number <optional>

Marca de tempo correspondente ao momento em que o token passa a ser considerado expirado. Valor numérico representando o número de segundos desde 01/01/1970, às 00:00:00 horas (UTC).

notBefore number <optional>

Marca de tempo correspondente ao momento em que o token passa a ser considerado válido. Valor numérico representando o número de segundos desde 01/01/1970, às 00:00:00 horas (UTC).

scopes Array.<string> <optional>

Lista dos escopos autorizados pelo token.


TokenResponse

Type:
  • Object
Properties:
Name Type Argument Description
accessToken string

Token de acesso que deve ser enviado nas requisições.

refreshToken string <optional>

Token de renovação, utilizado para obtenção de novos tokens de acesso, quando estes expiram.

tokenType string

Tipo do token, que pode ser 'Bearer' ou 'Mac' conforme a documentação.

expiresIn number <optional>

Tempo de validade do token de acesso, em segundos.

scope Array.<string>

Escopos de acesso autorizados neste token.

idToken string <optional>

Token com os dados do usuário autenticado. Este token é retornado apenas quando o fluxo envolve a autenticação de um usuário, como nos fluxos do OpenID Connect quando informado o escopo "openid".