Autenticação para webhooks de documentos
Criado para:
- Desenvolvedor
Autenticação
Os webhooks de documento do Adobe Workfront são compatíveis com duas formas diferentes de autenticação: OAuth2 e ApiKey. Em ambos os casos, o Workfront transmite tokens de autenticação no cabeçalho ao fazer uma chamada de API.
OAuth2
O OAuth2 permite que o Workfront faça chamadas de API autorizadas para um provedor de webhook em nome de um usuário. Antes de fazer isso, o usuário deve conectar a conta do provedor de documentos externo ao Workfront e conceder o Workfront
acesso para agirem em seu nome. Esse processo de handshaking só ocorre uma vez para cada usuário. Veja como isso funciona:
-
O usuário começa conectando a integração do webhook à conta. Atualmente, isso é feito clicando na lista suspensa "Adicionar documento" > "Adicionar serviço" > Nome da integração personalizada.
-
O Workfront navega o usuário pelo URL de autenticação, que pode solicitar que o usuário faça logon no provedor de documentos externo. Esta página é hospedada pelo provedor de webhook ou pelo sistema de gerenciamento de documentos externo. Ao fazer isso, o Workfront adiciona um parâmetro de "estado" ao URL de autenticação. Esse valor deve ser passado de volta para o Workfront, anexando o mesmo valor ao URI de retorno do Workfront na etapa abaixo.
-
Depois de fazer logon no sistema externo (ou se o usuário já estiver conectado), o usuário é direcionado para uma página "Autenticação", que explica que a Workfront está solicitando acesso para executar um conjunto de ações em nome do usuário.
-
Se o usuário clicar no botão "Permitir", o navegador será redirecionado para o URI de Redirecionamento do Workfront, adicionando "code=
<code>
" à querystring. De acordo com a especificação do OAuth2, esse token tem vida curta. A sequência de consulta também deve ter o seguinte, "state=<sent_by_workfront>
". -
O Workfront processa essa solicitação e faz uma chamada de API para o URL do ponto de extremidade token com o código de autorização.
-
O URL do ponto de extremidade do token retorna um token de atualização e um token de acesso.
-
O Workfront armazena esses tokens e provisiona totalmente a integração de webhook para esse usuário.
-
A partir desse ponto, o Workfront poderá fazer chamadas autorizadas para a API do provedor do webhook. Ao fazer essas chamadas, o Workfront enviará o token de acesso no cabeçalho da solicitação HTTP, conforme mostrado abaixo:
------------------------------- Authorization: Bearer [access_token] -------------------------------
-
Se o token de acesso tiver expirado, a Workfront fará uma chamada para o URL do ponto de extremidade do token para recuperar um novo token de acesso e, em seguida, tentará realizar a chamada de API autorizada novamente com o novo token de acesso.
ApiKey
Fazer chamadas de API autorizadas para um provedor de webhook usando uma ApiKey é muito mais simples do que o OAuth2. Ao fazer uma chamada de API, o Workfront simplesmente passará o ApiKey e o nome de usuário do Workfront no cabeçalho da solicitação HTTP:
-------------------------------
apiKey: 12345
username: johndoe@foo.com
-------------------------------
O provedor Webhook pode usar o nome de usuário para aplicar permissões específicas do usuário. Isso funciona melhor quando ambos os sistemas se conectam ao LDAP usando o Logon único (SSO).