Module: @nginstack/engine/lib/oidc/OpenIdClient

Classes

OpenIdClient

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.

responseTypes Array.<string> <optional>

Indica o tipo de resposta que se espera do autorizador. O tipo de resposta determina o fluxo de autorização que se deseja seguir:

  • 'code': fluxo de código de autorização (padrão);
  • 'id_token': fluxo implícito;
  • 'id_token' e 'token': fluxo implícito;
  • 'code' e 'id_token': fluxo híbrido;
  • 'code' e 'token': fluxo híbrido;
  • 'code', 'id_token' e 'token': fluxo híbrido.
responseMode string <optional>

Indica o modo como a resposta deve ser enviada pelo autorizador na requisição de resposta enviada para a URL de redirecionamento:

  • 'query': o código de autorização será incluído na query string da URL de requisição;
  • 'fragment': o código de autorização será incluído como um fragmento na URL da requisição;
  • 'form_post': o código de autorização será enviado no corpo de uma requisição do tipo POST.
state string <optional>

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.

nonce string <optional>

String aleatória utilizada para associar uma sessão de cliente a um ID Token e evitar ataques do tipo replay attack. O valor informado é incluído no ID token recebido do autorizador e deve ter suficiente entropia para dificultar que o valor seja deduzido.

codeChallenge string <optional>

Ao utilizar o fluxo de código de autorização com o uso de PKCE, esse parâmetro permite incluir na requisição de solicitação do código de acesso, o desafio gerado.

loginHint string <optional>

Sugere ao provedor de identidade o nome ou e-mail do usuário que será autenticado. Este parâmetro é útil para realizar a reautenticação de um usuário, ou quando a identificação do cliente é previamente conhecida.

idTokenHint string <optional>

ID Token gerado previamente pelo provedor de identidade que será utilizado como sugestão na autenticação. Sempre que possível, ele deve ser informado quando a propriedade prompt for atribuída com o valor 'none'.

maxAge number <optional>

Duração máxima da autenticação do usuário em milissegundos. Se o tempo desde a última autenticação for maior que esse valor, o provedor de identidade tentará autenticar novamente o usuário. Valores negativos não são suportados e serão considerados como zero.

prompt string | Array.<string> <optional>

Indica para o provedor de identidade qual é o tipo de interação do usuário que deve ser realizada. Os valores possíveis são:

  • 'none': indica que não deve ser apresentada ao usuário a tela de entrada das credenciais. Será retornado um erro se o usuário não tiver sido autenticado anteriormente.
  • 'login': força o usuário a inserir suas credenciais na solicitação.
  • 'select_account': apresenta ao usuário um seletor das contas recentemente autenticadas.
  • 'consent': exibe o diálogo de consentimento ao usuário recentemente autenticado, confirmando a concessão das permissões ao sistema.
extraParams Record.<string, string> <optional>

Parâmetros adicionais que serão inseridos na URL de autenticação gerada. Eles serão adicionados sem realizar nenhum tipo de validação para verificar se os parâmetros informados conflitam com as demais opções informadas.


OpenIdClientConstructorOptions

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

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.

issuer string <optional>

Url de identificação do provedor de identidade.

authEndpoint string <optional>

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

jwks string <optional>

JSON contendo o conjunto de chaves JWK disponibilizado pelo provedor.

tokenEndpoint string <optional>

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

userInfoEndpoint string <optional>

Url do provedor de identidade utilizada para consultar informações sobre o usuário logado.

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).