Por Alex Bedley – 1 de septiembre de 2016
Actualizado el 4 de febrero de 2021
¿Para quién son los tokens de actualización de OAuth 2.0?
Este artículo es de interés para los desarrolladores que crean aplicaciones que interactúan con las API de Brightspace en nombre de sus usuarios. Este método de autenticación solo se recomienda si la aplicación no tiene encabezado (no está basada en navegador).
¿Qué es un token de actualización de OAuth 2.0?
Como parte de las buenas prácticas de seguridad, los tokens de acceso (tokens que le permiten autenticarse con las API de Brightspace) caducan después de un breve período de tiempo. Esto crea un problema, ya que ahora las aplicaciones necesitarán una forma de obtener nuevos tokens de acceso con frecuencia. Los tokens de actualización resuelven este problema.
Los tokens de actualización son tokens de un solo uso que el servicio de autorización emite a aplicaciones de terceros. La aplicación almacena este token de actualización hasta que expire el token de acceso asociado. A continuación, los tokens de actualización se pueden intercambiar por un nuevo token de acceso y un nuevo token de actualización. Los tokens de actualización (y los tokens de acceso) deben tratarse como contraseñas.
¿Cómo obtengo un token de actualización de OAuth 2.0?
En las siguientes secciones se detallará cómo:
- Descargue la aplicación de ejemplo que guía a los usuarios a través del flujo de OAuth 2.0
- Registre la aplicación con Brightspace
- Obtener el consentimiento del usuario para permitir que la aplicación de muestra acceda a las API de Brightspace en nombre del usuario
- Adquiera un token de actualización (y un token de acceso) para ese usuario
Descargar la aplicación de ejemplo
La aplicación de ejemplo, una vez registrada, le permitirá trabajar a través del flujo de OAuth 2.0 de una manera fácil de usar. Es útil para comprender cómo obtener tokens de actualización y también se puede usar al probar las aplicaciones. Se recomienda ejecutar la aplicación localmente.
Ejecutar localmente
Para ejecutarse localmente, debe tener <a href=" target=" _blank"="">node</a>
y npm
Instalado.
- Clonar el repositorio:
https://github.com/neverendingqs/oauth2-client-shell
- Instale las dependencias:
Instalación de npm
- Inicie la aplicación:
npm run dev
- Vaya a https://localhost:3001/
- Es posible que su navegador se queje de los certificados SSL en este punto ("Su conexión no es segura") porque la aplicación está utilizando un certificado autofirmado. En este caso, dado que lo está alojando localmente, podemos ignorar estas advertencias de manera segura.
Registro de la aplicación en Brightspace
Para realizar los siguientes pasos, el lector debe tener acceso de administrador (o conocer a alguien con acceso de administrador) a su instancia de Brightspace.
- Vaya a Administrar la extensibilidad en el menú Herramientas de administración.
- Haga clic en el botón OAuth 2.0 pestaña.
- Haga clic en el botón Registrar una aplicación botón.
- Rellene los datos requeridos:
- Para obtener el URI de redireccionamiento, fíjate en el valor de la propiedad URI de redireccionamiento en la interfaz de usuario de la aplicación de ejemplo. Si hospeda la aplicación de ejemplo localmente, URI de redireccionamiento debe ser https://localhost:3001/.
- En el caso de la Alcance campo, uso
núcleo:*:*
. - Asegúrate Habilitación de tokens de actualización está marcado.
- Haga clic en el botón Registro botón.
- Obtén el ID de cliente y Secreto de cliente para la aplicación que acabas de registrar.
Obtener el consentimiento del usuario
Para que pueda obtener un token de actualización para un usuario, ese usuario debe permitir que su aplicación acceda a las API de Brightspace en su nombre.
- En el modelo de solicitud, rellene los siguientes campos:
- Haga clic en el botón Obtener código de autorización botón.
- La página lo redirigirá para que inicie sesión en su instancia de Brightspace (si aún no lo ha hecho).
- Una vez que haya iniciado sesión, haga clic en el botón Aceptar botón.
- Brightspace debería redirigirlo de nuevo a la aplicación de muestra.
En esta sección, obtuvimos el consentimiento de un usuario y obtuvimos un Código de autorización. Necesitaremos esto Código de autorización para obtener un token de actualización para el usuario.
Adquisición de un token de actualización
Ahora que tenemos nuestro Código de autorización Podemos intercambiar esto por un token de acceso y actualización. Continuando con la sección anterior:
La aplicación de muestra debería haberse abierto automáticamentee Token de acceso (y actualización) a través del código de autorización de la aplicación y rellenó el archivo Código de autorización campo.
Rellene los siguientes campos:
Figura: El Shell de cliente OAuth.
Haga clic en el botón Código de Autorización de Comercio botón.
¡Ahora has obtenido con éxito un token de actualización!
¿Hacia dónde vamos?
En este artículo se muestra cómo obtener un token de actualización con la ayuda de una aplicación de ejemplo. En la aplicación de producción, almacenará este token de actualización y el token de acceso asociado de forma segura. El token de acceso le permite acceder a las API de Brightspace en nombre de un usuario con consentimiento.
Los tokens de actualización son de larga duración, pero de un solo uso: no se puede reutilizar un token de actualización para solicitar un nuevo token de acceso. En su lugar, los usa una vez y debe recuperar un nuevo token de acceso y un nuevo token de actualización (que usará más adelante para un flujo de trabajo de token de actualización posterior).
Los desarrolladores de aplicaciones deben prestar atención a los tiempos de caducidad de los tokens: los tokens de acceso tienen un tiempo de caducidad corto; Los tokens de actualización tienen un tiempo de acceso prolongado. Con el fin de usar correctamente el flujo de trabajo del token de actualización una y otra vez para mantener actualizado el acceso a la aplicación, deben asegurarse de participar en ese flujo de trabajo de actualización antes de que expire el token de actualización (cada vez que intenten actualizar).
Extensión de aprendizaje: Acceso al curso gratuito
Los clientes de Brightspace pueden acceder a un curso gratuito sobre cómo comenzar a usar la API de Brightspace, en el Centro de aprendizaje.
Curso de Acceso: Aprenda a ser cartero con Paul
*El acceso al Centro de Aprendizaje se proporciona a los instructores y administradores que actualmente utilizan Brightspace. Debes iniciar sesión en la Comunidad con la dirección de correo electrónico de tu escuela u organización para verificar tu acceso al contenido freemium y premium del Centro de Aprendizaje.
Figura: Imagen de aplicación de ejemplo de OAuth2.
Figura: Ejemplo de registro de una aplicación.