Páginas filhas
  • OIDC_validateIDToken


Realiza validação de um Token JWT com relação a algumas informações do emissor e também com relação a data e hora de validade.

Sintaxe

OIDC_validateIDToken( < l_tokenJWT > , < l_issuer > , < l_clientID > , < l_emailUser> , < l_nonce >   ) => SMALLINT

Parâmetros

Nome

Tipo

Obrigatório?

Descrição

l_tokenJWT

CHAR

Sim

Código do Token JWT a ser validado.

l_issuer
CHAR

Sim

URL do emissor do Token JWT. O Token precisará ter os dados deste emissor para ser considerado válido.

l_clientID
CHAR

Sim

CLIENTID do aplicativo que emitiu o Token JWT. O Token precisará ter os dados deste CLIENTID para ser considerado válido.

l_emailUser
CHAR

Sim

Email do usuário Logix que realizou autenticação e gerou Token JWT após autenticação. O Token precisará ter os dados deste email de usuário pra ser considerado válido.

l_nonce
CHAR

Sim

Código de Token aleatório usado no ato em que foi acionada a solicitação de autenticação do usuário para obtenção do Token JWT. O Token precisará ter os dados deste mesmo código NONCE para ser considerado válido.

Retorno

Nome

Tipo

Descrição

l_status

SMALLINT

TRUE    Token válido

FALSE   Token inválido ou expirado. Neste caso pode-se utilizar a função OIDC_getErrorMessage() para mais detalhes a respeito do problema ocorrido na validação do TOKEN.

Exemplo

#--------------------------------------------#
 FUNCTION OIDC_validateIDToken_test()
#--------------------------------------------#
   DEFINE cToken    CHAR(5000) 
   DEFINE cIssuer   CHAR(300)
   DEFINE cNonce    CHAR(36)
   DEFINE cEmail    CHAR(200)
   DEFINE cCLientID CHAR(36)

   LET cToken    = '<valor do token JWT>'
   LET cNonce    = '35125' #Código nonce
   LET cEmail    = '[email protected]'

   LET cIssuer   = 'https://login.microsoftonline.com/7f5faxbf-au09-4qd4-975c-c3562175764e/v2.0'
   LET cCLientID = "f4fab2e3-a69c-461a-9925-d8bd3y75c61b"

   IF OIDC_validateIDToken(cToken,cIssuer,cClientID,cEmail,cNonce) THEN
      CALL CONOUT("TOKEN VALIDO ")
   ELSE
      CALL CONOUT("TOKEN INVALIDO - "||OIDC_getErrorMessage())
   END IF
 END FUNCTION

Informações

Fonte: oidc.4gl, oidc.prw