new OpenIdProvider()
Classe que representa os dados de configuração publicados pelo provedor de identidade.
Members
-
authorizationEndpoint :string
-
Endereço utilizado para a autenticação dos usuários.
Type:
- string
-
claimsSupported :Array.<string>
-
Conjunto de declarações suportadas pelo provedor de identidade.
Type:
- Array.<string>
-
deviceAuthorizationEndpoint :string
-
Endereço onde se pode realizar a autorização seguindo o fluxo de autorização de dispositivo.
Type:
- string
-
grantTypesSupported :Array.<string>
-
Fluxos de autorização suportados pelo provedor de identidade.
Type:
- Array.<string>
-
idTokenSigningAlgValuesSupported :Array.<string>
-
Algoritmos suportados para assinatura do
ID Token
.Type:
- Array.<string>
-
introspectionEndpoint :string
-
Endereço onde se pode obter informações sobre um token de acesso.
Type:
- string
-
issuer :string
-
Localização ou endereço do emissor.
Type:
- string
-
jwks :string
-
JSON contendo a lista de chaves publicas utilizadas pelo provedor, no formato JWKS.
Type:
- string
-
responseModesSupported :Array.<string>
-
Modos suportados pelo provedor de identidade para o envio das informações na requisição de resposta, enviada para a URL de redirecionamento:
'query'
: As informações serão incluídas naquery string
de uma requisição do tipo GET;'fragment'
: As informações serão incluídas como um fragmento de uma requisição do tipo GET;'form_post'
: As informações serão enviadas no corpo de uma requisição do tipo POST.
Type:
- Array.<string>
-
responseTypesSupported :Array.<string>
-
Informações que o provedor de identidade suporta enviar como resposta. Ao acessar o endereço de autorização, deve-se indicar qual desses tipos de resposta que se deseja receber no acesso redirecionado após uma autenticação bem sucedida.
O tipo de resposta determina o fluxo de autorização que se deseja seguir:
'code'
: fluxo de código de autorizaçã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.
Para mais informações consultar a "documentação oficial".
Type:
- Array.<string>
-
revocationEndpoint :string
-
Endereço onde se pode revogar um token de acesso ou token de renovação.
Type:
- string
-
scopesSupported :Array.<string>
-
Escopos suportados pelo provedor de identidade. Os escopos definem as claims que se deseja que o provedor inclua no token JWS de resposta:
'openid'
: o protocoloOpenID Connect
define esse valor de escopo como obrigatório;'profile'
: informações como nome, apelido, nome de usuário, gênero, foto, data de nascimento etc;'email'
: requer acesso ao email do usuário;'address'
: requer acesso ao endereço do usuário;'phone'
: requer acesso ao número de telefone do usuário.
Se for utilizado um fluxo de autorização que resulte em um Access Token, os dados solicitados por meio dos escopos estarão disponíveis acessando o
userInfoEndpoint
. Se for utilizado um fluxo de autorização que resulte em um ID Token, as informações estarão contidas nopayload
do token.Para mais informações consultar a documentação oficial.
Type:
- Array.<string>
-
tokenEndpoint :string
-
Endereço utilizado para obter o ID token.
Type:
- string
-
userInfoEndpoint :string
-
Endereço onde se pode obter informações sobre o usuário autenticado.
Type:
- string
-
userInfoSigningAlgValuesSupported :Array.<string>
-
Algoritmos suportados para assinatura do token de informações do usuário autenticado.
Type:
- Array.<string>
Methods
-
<static> discover(discoverUri)
-
Retorna os dados de configuração publicados pelo provedor de identidade.
Parameters:
Name Type Description discoverUri
string Endereço básico disponibilizado pelo provedor de identidade. Os dados de configuração do provedor serão obtidos no endereço padrão
'<discoverUri>/.well-known/openid-configuration'
.Returns:
Objeto literal com os dados de configuração publicados pelo provedor de identidade.
- Type
- ProviderMetadata
-
<static> fromConfig(key)
-
Cria uma instância da classe OpenIdProvider com os dados obtidos a partir do cadastro do provedor de identidade.
Será gerado um erro caso o provedor de identidade informado tenha sido desativado pelo administrador do sistema.
Parameters:
Name Type Description key
DBKey Chave de um dos provedores de identidade cadastrados.
Returns:
Instância da classe do provedor de identidade informado.
- Type
- OpenIdProvider
-
<static> signSupportAccountProvider(ds, privateKey)
-
Assina digitalmente um provedor de identidade e preenche o DataSet com a assinatura.
Parameters:
Name Type Description ds
DataSet DataSet localizado em um registro de provedor de identidade.
privateKey
string Chave privada para realizar assinatura.
Returns:
Assinatura digital.
- Type
- string
-
<static> verifySupportAccountProvider(ds)
-
Verifica a assinatura digital dos dados de um provedor de identidade.
Parameters:
Name Type Description ds
DataSet DataSet localizado em um registro de provedor de identidade.
Returns:
Verdadeiro se a assinatura é válida, falso caso contrário.
- Type
- boolean
-
getSigningKey(kid)
-
Retorna um CryptoPKey contendo a chave pública do provedor de identidade, importada a partir do JWK cujo identificador
kid
corresponde ao valor indicado no parâmetro.Parameters:
Name Type Description kid
string Identificador da chave JWK.
Returns:
Objeto CryptoPKey contendo a chave pública do provedor.
- Type
- CryptoPKey
-
jwk(kid)
-
Retorna o JSON da chave JWK, cujo identificador
kid
corresponde ao valor indicado no parâmetro.Parameters:
Name Type Description kid
string Identificador da chave.
Returns:
JSON da chave JWK.
- Type
- string
-
newOAuth2Client( [options])
-
Obtém uma instância da classe 'OAuth2Client' configurada com os dados do provedor de identidade.
Parameters:
Name Type Argument Description options
module:@nginstack/engine/lib/oauth2/OAuth2Client~OAuth2ClientConstructorOptions <optional>
Parâmetros de construção da instância do cliente.
Returns:
Objeto cliente do protocolo OAuth2.
-
newOpenIdClient( [options])
-
Obtém uma instância da classe 'OpenIdClient' configurada com os dados do provedor de identidade.
Parameters:
Name Type Argument Description options
module:@nginstack/engine/lib/oidc/OpenIdClient~OpenIdClientConstructorOptions <optional>
Parâmetros de construção da instância do cliente.
Returns:
Objeto cliente do protocolo OpenID Connect.