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