Autenticación para webhooks de documentos
Autenticación
Los webhooks de documentos de Adobe Workfront admiten dos formas diferentes de autenticación: OAuth2 y ApiKey. En ambos casos, Workfront pasa tokens de autenticación en el encabezado al realizar una llamada de API.
OAuth2
OAuth2 permite a Workfront realizar llamadas de API autorizadas a un proveedor de ganchos web en nombre de un usuario. Antes de hacerlo, el usuario debe conectar su cuenta de proveedor de documentos externa a Workfront y conceder a Workfront
acceso para actuar en su nombre. Este proceso de establecimiento de la mano solo se produce una vez por cada usuario. Funciona de la siguiente manera:
-
El usuario comienza a conectar la integración del webhook a su cuenta. Actualmente, esto se hace haciendo clic en el menú desplegable "Agregar documento" > "Agregar servicio" > Nombre de integración personalizado.
-
Workfront navega por el usuario a través de la URL de autenticación, que puede pedirle que inicie sesión en el proveedor de documentos externo. Esta página está alojada por el proveedor de webhook o por el sistema de gestión de documentos externo. Al hacerlo, Workfront agrega un parámetro "state" a la URL de autenticación. Este valor debe devolverse a Workfront añadiendo el mismo valor al URI de retorno de Workfront en el paso siguiente.
-
Después de iniciar sesión en el sistema externo (o si el usuario ya ha iniciado sesión), se le redirige a una página "Autenticación", que indica que Workfront está solicitando el acceso para realizar un conjunto de acciones en su nombre.
-
Si el usuario hace clic en el botón "Permitir", el explorador redireccionará al URI de redireccionamiento de Workfront y agregará "code=
<code>
" a la cadena de consulta. Según la especificación de OAuth2, este token es de corta duración. La cadena de consulta también debe tener lo siguiente, "state=<sent_by_workfront>
". -
Workfront procesa esta solicitud y realiza una llamada de API a la dirección URL de extremo de token con el código de autorización.
-
La URL de extremo de token devuelve un token de actualización y un token de acceso.
-
Workfront almacena estos tokens y aprovisiona completamente la integración de ganchos web para este usuario.
-
A partir de este momento, Workfront podrá realizar llamadas de API autorizadas al proveedor del gancho web. Al realizar estas llamadas, Workfront envía el token de acceso en el encabezado de solicitud HTTP como se muestra a continuación:
code language-none ------------------------------- Authorization: Bearer [access_token] -------------------------------
-
Si el token de acceso ha caducado, Workfront realizará una llamada a la URL de extremo del token para recuperar un nuevo token de acceso e intentará de nuevo la llamada a la API autorizada con el nuevo token de acceso.
ApiKey
Realizar llamadas de API autorizadas a un proveedor de ganchos web mediante una clave API es mucho más sencillo que OAuth2. Al realizar una llamada de API, Workfront simplemente pasa la ApiKey y el nombre de usuario de Workfront en el encabezado de la solicitud HTTP:
-------------------------------
apiKey: 12345
username: johndoe@foo.com
-------------------------------
El proveedor de webhook puede utilizar el nombre de usuario para aplicar permisos específicos del usuario. Esto funciona mejor cuando ambos sistemas se conectan a LDAP mediante el inicio de sesión único (SSO).