Ir para o conteúdo

Funções JWT no Jitterbit Integration Studio

Introdução

Token da Web JSON As funções (JWT) permitem a criação, verificação e decodificação de JWTs. Para obter mais informações sobre a especificação JWT, consulte IETF RFC 7519: JSON Web Token (JWT).

Nota

Uma alternativa ao uso de funções JWT é usar o conector JWT do Jitterbit.

CreateJwtToken

Declaração

string CreateJwtToken(string header, string payload[, string private_key, string public_key])

Sintaxe

CreateJwtToken(<header>, <payload>[, <private_key>, <public_key>])

Parâmetros obrigatórios

  • header: Uma string JSON contendo quaisquer valores de cabeçalho esperados para o alg, typ, cty, e kid chaves. Esses pares de chave-valor não diferenciam maiúsculas de minúsculas. Todos os outros pares de chave-valor serão ignorados. Os algoritmos suportados incluem HS256, HS384, HS512, PS256, PS384, PS512, RS256, RS384, RS512, ES256, ES256K, ES384, ES512, EdDSA, e None. Se um valor para alg não for reconhecido, será definido como None. Se um valor para typ não for reconhecido, será definido como JWT.
  • payload: Uma string JSON contendo quaisquer valores de payload esperados que representam declarações JWT. Todos os pares de chave-valor serão tratados como uma declaração válida. Se declarações como aud suporta vários valores, eles podem ser definidos como uma string delimitada por vírgulas, por exemplo audience1, audience2, audience3. As reivindicações registradas suportadas incluem iss, sub, aud, exp, nbf, iat, e jti. Para exp, nbf, e iat para serem tratadas como reivindicações registradas, elas devem ser definidas usando um valor inteiro (1234567890, não "1234567890").

Parâmetros opcionais

  • private_key: Uma chave privada de string para o algoritmo especificado em header. Se o None algoritmo é usado, este campo é ignorado.
  • public_key: Uma chave pública de string para o algoritmo especificado em header. Se o None, HS256, HS384, ou HS512 algoritmos são usados, este campo é ignorado.

Descrição

Cria um JWT usando as informações fornecidas. Em caso de sucesso, uma string representando o token recém-criado é retornada; caso contrário, quaisquer mensagens de erro são retornadas.

Somente os dois primeiros parâmetros são necessários para todos os casos. Os parâmetros restantes são situacionais e podem ser necessários com base no algoritmo JWT escolhido.

Importante

Esta função requer a versão do agente 11.26 ou posterior.

Exemplos

Example Using None
// Define the JWT header:
$header = '{"alg": "None", "typ": "JWT"}';

// Define the JWT payload:
$payload = '{"iat": 1234567890, "name": "Example", "test": "Test"}';

CreateJwtToken($header, $payload, "", "");
Example Using RS256
// Define the JWT header:
$header = '{"alg": "RS256", "typ": "JWT"}';

// Define the JWT payload:
$payload = '{"iat": 1234567890, "name": "Example", "test": "Test"}';

$privateKey = "-----BEGIN RSA PRIVATE KEY-----...";
$publicKey = "-----BEGIN PUBLIC KEY-----...";

CreateJwtToken($header, $payload, $privateKey, $publicKey);

VerifyJwt

Declaração

bool VerifyJwt(string token)

Sintaxe

VerifyJwt(<token>)

Parâmetros obrigatórios

  • token: Uma string representando o JWT.

Descrição

Verifica se o token fornecido é um token JWT válido e retorna um booleano (true ou false) com base no resultado. Esta função verifica apenas a formatação do token, consulte VerifyJwtClaims para uma verificação de reivindicações mais abrangente.

Importante

Esta função requer a versão do agente 11.26 ou posterior.

Exemplos

// Check if a token is in JWT format:
VerifyJwt("AxE9qm4aTZiXvA2G8sblAxjeL...");

VerifyJwtClaims

Declaração

bool VerifyJwtClaims(string token, string algorithm, string key[, string claims])

Sintaxe

VerifyJwtClaims(<token>, <algorithm>, <key>[, <claims>])

Parâmetros obrigatórios

  • token: Uma string representando o JWT.
  • algorithm: O algoritmo usado para verificação de reivindicações.
  • key: A chave secreta usada para verificação de reivindicações.

Parâmetros opcionais

  • claims: Uma string JSON contendo as declarações a serem verificadas.

Descrição

Verifica se as declarações do token fornecido são válidas (não modificadas) dado o algoritmo fornecido e a chave secreta e retorna um booleano (true ou false) com base no resultado. Se o token em si não for válido, false é retornado sem verificar as reivindicações. Se nenhuma reivindicação for fornecida, esta função age como VerifyJwt função, ignorando o algoritmo e a chave secreta.

Cuidado

Os valores de reivindicação fornecidos para verificação devem corresponder aos tipos de dados originais usados. Por exemplo, "iat": "1234567890"não é igual a "iat": 1234567890.

Se estiver usando a versão 11.26 do agente, VerifyJwtClaims irá gerar erros se claims é deixado em branco. Como solução alternativa, insira "{}" para claims.

Importante

Esta função requer a versão do agente 11.26 ou posterior.

Exemplos

// Verify JWT claims:
VerifyJwtClaims("AxE9qm4aTZiXvA2G8sblAxjeL...", "RS256", "Secret", '{"iat": 1234567890, "name": "Example", "test": "Test"}');
// Empty claims workaround:
VerifyJwtClaims("AxE9qm4aTZiXvA2G8sblAxjeL...", "RS256", "Secret", "{}");

DecodeJwtToken

Declaração

string DecodeJwtToken(string token)

Sintaxe

DecodeJwtToken(<token>)

Parâmetros obrigatórios

  • token: Uma string representando o JWT.

Descrição

Decodifica o token fornecido para recuperar suas reivindicações. Em caso de sucesso, uma string contendo as reivindicações decodificadas é retornada. Se o token não for válido, uma string vazia é retornada. Caso contrário, quaisquer mensagens de erro são retornadas.

Importante

Esta função requer a versão do agente 11.26 ou posterior.

Exemplos

// Decode a JWT token:
DecodeJwtToken("AxE9qm4aTZiXvA2G8sblAxjeL...");

GetJwtHeader

Declaração

string GetJwtHeader(string token)

Sintaxe

GetJwtHeader(<token>)

Parâmetros obrigatórios

  • token: Uma string representando o JWT.

Descrição

Recupera o cabeçalho do JWT. Em caso de sucesso, uma string contendo o cabeçalho é retornada. Se o token não for válido, uma string vazia é retornada.

Importante

Esta função requer a versão do agente 11.26 ou posterior.

Exemplos

// Retrieve a JWT header:
GetJwtHeader("AxE9qm4aTZiXvA2G8sblAxjeL...");

GetJwtPayload

Declaração

string GetJwtPayload(string token)

Sintaxe

GetJwtPayload(<token>)

Parâmetros obrigatórios

  • token: Uma string representando o JWT.

Descrição

Recupera o payload do JWT. Em caso de sucesso, uma string contendo o payload é retornada. Se o token não for válido, uma string vazia é retornada.

Importante

Esta função requer a versão do agente 11.26 ou posterior.

Exemplos

// Retrieve a JWT payload:
GetJwtPayload("AxE9qm4aTZiXvA2G8sblAxjeL...");

GetJwtSignature

Declaração

string GetJwtSignature(string token)

Sintaxe

GetJwtSignature(<token>)

Parâmetros obrigatórios

  • token: Uma string representando o JWT.

Descrição

Recupera a assinatura do JWT. Em caso de sucesso, uma string contendo a assinatura é retornada. Se o token não for válido, uma string vazia é retornada.

Importante

Esta função requer a versão do agente 11.26 ou posterior.

Exemplos

// Retrieve a JWT signature:
GetJwtSignature("AxE9qm4aTZiXvA2G8sblAxjeL...");