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
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.
Trocar o JWT para recuperar um token de acesso
-
Enviar uma solicitação POST para:
code language-none https://yourdomain.my.workfront.com/integrations/oauth2/api/v1/jwt/exchange
-
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}