Configuración de la aplicación
Para poder implementar la autorización, debe registrar la aplicación en OAuth2 creando una integración de aplicaciones desde Workfront.
Para obtener instrucciones sobre cómo crear la aplicación OAuth2, consulte Crear una aplicación web de una sola página de OAuth2 mediante PKCE en Crear aplicaciones OAuth2 para integraciones de Workfront
Crear la clave de revisión para el intercambio de código
De forma similar al flujo estándar del Código de autorización, la aplicación se inicia redireccionando el explorador del usuario al extremo /authorize
del servidor de autorización. Sin embargo, en este caso también tiene que pasar un reto de código.
El primer paso es generar un verificador de códigos y un desafío.
Debe agregar código en la aplicación cliente para crear el verificador de códigos y el reto de códigos.
El código del generador PKCE crea un resultado similar al siguiente:
{
"code\_verifier":"N28zVMsKU6ptUjHaYWg3T1NFTDQqcW1R4BU5NXywapNac4hhfkxjwfhZQat",
"code\_challenge":"wzgjYF9qEiWep-CwqgrTE78-2ghjwCtRO3vj23o4W\_fw"
}
Su aplicación guarda code_verifier
para más adelante y envía code_challenge
junto con la solicitud de autorización a la dirección URL /authorize
del servidor de autorización.
Solicitar un código de autorización
Si utiliza el servidor de autorización personalizado predeterminado, la dirección URL de la solicitud sería similar a la siguiente:
/authorize?client\_id=<clientID>&response\_type=code&redirect\_uri=<redirectURL>
&code\_challenge\_method=S256&code\_challenge=wzgjYF9qEiWep-CwqgrTE78-2ghjwCtRO3vj23o4W\_fw"
Tenga en cuenta los parámetros que se pasan:
-
client_id
coincide con el ID de cliente de la aplicación OAuth2 que creó en al configurar la aplicación.Para obtener instrucciones, consulte Creación de una aplicación web de una sola página de OAuth2 mediante PKCE en Creación de aplicaciones de OAuth2 para integraciones de Workfront.
-
response_type
escode
, porque la aplicación usa el tipo de concesión Código de autorización. -
redirect_uri
es la ubicación de devolución de llamada a la que se dirige el agente de usuario junto concode
. Debe coincidir con una de las direcciones URL de redireccionamiento que especificó al crear la aplicación OAuth2. -
code_challenge_method
es el método hash utilizado para generar el desafío, que siempre esS256
para las aplicaciones Oauth2 de Workfront que utilizan PKCE. -
code_challenge
es el desafío de código utilizado para PKCE.
Intercambio del código por tokens
Para intercambiar el código de autorización por un token de acceso, páselo al extremo /token
del servidor de autorización junto con code_verifier
.
/token \\
--header 'accept: application/json' \\
--header 'cache-control: no-cache' \\
--header 'content-type: application/x-www-form-urlencoded' \\
--data 'grant\_type=authorization\_code&client\_id=<clientID>&redirect\_uri=<redirectURL>&code=<code>&code\_verifier=N28zVMsKU6ptUjHaYWg3T1NFTDQqcW1R4BU5NXywapNac4hhfkxjwfhZQat
Tenga en cuenta los parámetros que se pasan:
-
grant_type
esauthorization_code
, porque la aplicación usa el tipo de concesión Código de autorización. -
redirect_uri
debe coincidir con el URI que se usó para obtener el código de autorización. -
code
es el código de autorización que recibió del extremo /authorize. -
code_verifier
es el verificador de código PKCE que su aplicación generó en Crear la clave de revisión para el intercambio de código. -
client_id
identifica a su cliente y debe coincidir con el valor preregistrado en OAuth2.
Si el código sigue siendo válido y el verificador de códigos coincide, la aplicación recibe un token de acceso.
{
"access\_token": "eyJhd\[...\]Yozv",
"expires\_in": 3600,
"token\_type": "Bearer"
}