Configure e use os aplicativos OAuth 2 personalizados de sua organização usando o fluxo JWT

Para integrar ao Workfront e permitir que seu aplicativo cliente se comunique com o Workfront em nome do usuário, é necessário:

  • Criar um aplicativo OAuth2
  • Criar um certificado de chave pública
  • Criar um JSON Web Token (JWT)

Criar um aplicativo OAuth2

Para obter instruções sobre como criar o aplicativo OAuth2, consulte Criar um aplicativo OAuth2 usando autenticação de servidor (fluxo JWT) em Criar aplicativos OAuth2 para integrações de Workfront

NOTE
Você pode ter até dez aplicativos OAuth2 ao mesmo tempo.

Criar um certificado de chave pública

O JWT deve ser assinado e codificado na base 64 para inclusão na solicitação de acesso. As bibliotecas JWT fornecem funções para executar essas tarefas.

O token deve ser assinado usando a chave privada para um certificado de assinatura digital. Nesse caso, você pode usar a chave privada de qualquer certificado associado para assinar seu JWT.

O algoritmo usado é RS256 (Assinatura RSA com SHA-256). É um algoritmo assimétrico e usa um par de chaves públicas/privadas. O provedor de identidade tem uma chave privada (secreta) usada para gerar a assinatura, e o consumidor do JWT recebe uma chave pública para validar a assinatura.

Para gerar a chave pública, execute um dos procedimentos a seguir.

  • Abra o terminal MacOS/Linux e execute o comando a seguir. Em seguida, carregue certificate_pub.crt usando o botão Adicionar chave pública na configuração do aplicativo OAuth2 no Workfront.

    code language-none
    openssl req -x509 -sha256 -nodes -newkey rsa:2048 -keyout private.key -out certificate_pub.crt
    
  • Use o botão Gerar um par de chaves públicas/privadas na configuração do aplicativo OAuth2 no Workfront para gerar o RSA.

Criar um JSON Web Token

Um JSON Web Token para autenticação de Conta de Serviço requer um conjunto específico de declarações e deve ser assinado usando um certificado de assinatura digital válido. Recomendamos usar uma das bibliotecas ou ferramentas disponíveis publicamente para criar seu JWT.

A tabela a seguir contém informações sobre campos que podem ser necessários ao configurar o token JWT.

exp

Obrigatório. O parâmetro de expiração é um parâmetro obrigatório que mede o tempo absoluto desde 01/01/1970 GMT. Você deve garantir que a hora de expiração seja posterior à hora da emissão. Após esse período, o JWT não será mais válido.

Observação: recomendamos que você tenha um token de vida curta (alguns minutos), para que ele expire logo após ter sido trocado por um token de acesso. Toda vez que um novo token de acesso é necessário, um JWT é assinado e trocado. Essa é uma abordagem mais segura. Não recomendamos tokens de vida mais longa que sejam reutilizados para obter tokens de acesso, conforme necessário.

iss
Obrigatório. O emissor é a ID do cliente nos detalhes do aplicativo OAuth2.
sub
Obrigatório. O assunto é sua ID de usuário que criou a chave pública na configuração.

Trocar o JWT para recuperar um token de acesso

  1. Enviar uma solicitação POST para:

    code language-none
    https://yourdomain.my.workfront.com/integrations/oauth2/api/v1/jwt/exchange
    
  2. O corpo da solicitação deve conter parâmetros codificados por URL com a ID do cliente, o segredo do cliente e o JWT:

    code language-none
    client_id={client_id_value}&client_secret={client_secret_value}&jwt_token={base64_encoded_JWT}
    
recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43