AAD B2C- (4) Experiencia usando AAD B2C para proteger Node JS (passport.js)

Este artículo demuestra lo siguiente:

 

1. Desplegó una API WEB Node JS, que está protegida por AAD B2C (usando Passport.js);

2. Utilice POSTMAN para simular solicitudes de clientes, obtener tokens de acceso de AAD B2C e iniciar solicitudes a la API;

 

Pasos:

1. Prepare el sitio web Node js API, que es un código de muestra de Microsoft;

2. Agregue una nueva aplicación para Node js API en AAD B2C y agregue el alcance publicado;

3. Agregue una aplicación para Postman en AAD B2C y autorice la aplicación a la aplicación Node js API;

4. Aumente el flujo de usuarios de inicio de sesión ROPC (flujo de usuarios sin navegador);

5. Utilice el punto final ROPC en Postman para obtener el token de acceso;

6. Nodo de acceso js API con token de acceso en cartero;

 

Introducción de video:

Puede ver el video de esta sección en la Estación B: https://www.bilibili.com/video/BV1Cc411h7fM/

 

Introducción gráfica:

Este artículo utiliza un código de muestra: https://github.com/Azure-Samples/active-directory-b2c-javascript-nodejs-webapi

Agregue una aplicación Node JS:

Tenga en cuenta que en este ejemplo, la URL de respuesta se completa: https: // localhost: 5000, este valor se debe a que se accede a nuestro código de muestra a través de esta url.

Complete el ID URI "API" u otros valores.

img-79271532-5732-4c7d-aabb-a7fc43140aae.png

 

Agregue los siguientes dos elementos al alcance publicado:

En este ejemplo, al menos demo.read necesita ser retenido, porque el código de muestra detecta la cadena "demo.read".

img-ed1be10a-5ba0-4139-861c-41cc438503aa.png

Como se muestra a continuación, el código usa la cadena "demo.read" para la detección de permisos. Si desea modificarlo, ¡el alcance y el código publicados de la aplicación en AAD B2C en Azure Portal deben modificarse al mismo tiempo!

img-841ce05d-9291-4426-a0e4-393d3046b687.png

 

Luego cree la aplicación postmanclient:

img-95c62898-4160-48bf-a0f3-f4db0af8ccbf.png

 

Establezca permisos de acceso a la API para permitir el acceso postcliente a las API:

img-1439b3e3-da86-4a63-aa86-2f193f4df06e.png

 

Modifique el archivo de configuración en el código de muestra:

En el video de este artículo, la explicación detallada de la configuración se realiza a las 06:00 minutos y se presenta cómo encontrar estos valores;

img-1f7a69f3-43d7-4646-a2e5-8ab30fa0c5a8.png

Para el flujo de usuarios en la configuración, se debe crear un nuevo flujo de usuarios del tipo ROPC. Este tipo de flujo de usuarios no requiere un salto del navegador para iniciar sesión para obtener el token:

img-030579b8-866b-42a1-9c1f-4d9b71fb754c.png

Según la necesidad, seleccione el valor que debe devolverse al token:

img-07fdef86-3f63-4143-8b87-28f458c26e5f.png

 

La lógica del código de muestra es la siguiente:

Si hay "demo.read" en el permiso del usuario, se devuelve el atributo de nombre de usuario; de lo contrario, se devuelve un error 403:

img-111ac781-2fde-43d9-9364-4b3115f39b2b.png

 

Comience el sitio web:

img-6dff822f-b450-43fa-90da-ebb100ddacac.png

El token de acceso se puede extraer de acuerdo con los siguientes parámetros:

Los siguientes valores deben modificarse de acuerdo con la situación real: el video de este artículo explica en detalle dónde cada campo puede obtener el valor alrededor de las 10:00

img-9c3a5bbd-38f1-47ad-a8a2-e0fbeb13ce86.png

 

Use Token para solicitar, la siguiente figura se puede ejecutar con éxito:

img-190300bc-35a7-4432-a43d-ddaac0a31e14.png

 

Al mismo tiempo, podemos obtener la información del usuario en el código Node JS, y después de obtener la información del usuario, podemos integrarnos con la lógica empresarial:

img-bdb03ddc-b916-4cd9-a019-50b2c628536a.png

 

En este punto, este artículo ha terminado!

 

 


Supongo que te gusta

Origin blog.51cto.com/10117438/2486636
Recomendado
Clasificación