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 oalg,typ,cty, ekidchaves. 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 incluemHS256,HS384,HS512,PS256,PS384,PS512,RS256,RS384,RS512,ES256,ES256K,ES384,ES512,EdDSA, eNone. Se um valor paraalgnão for reconhecido, será definido comoNone. Se um valor paratypnão for reconhecido, será definido comoJWT.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 comoaudsuporta vários valores, eles podem ser definidos como uma string delimitada por vírgulas, por exemploaudience1, audience2, audience3. As reivindicações registradas suportadas incluemiss,sub,aud,exp,nbf,iat, ejti. Paraexp,nbf, eiatpara 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 emheader. Se oNonealgoritmo é usado, este campo é ignorado.public_key: Uma chave pública de string para o algoritmo especificado emheader. Se oNone,HS256,HS384, ouHS512algoritmos 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
// Define the JWT header:
$header = '{"alg": "None", "typ": "JWT"}';
// Define the JWT payload:
$payload = '{"iat": 1234567890, "name": "Example", "test": "Test"}';
CreateJwtToken($header, $payload, "", "");
// 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...");