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.
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".
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!
Luego cree la aplicación postmanclient:
Establezca permisos de acceso a la API para permitir el acceso postcliente a las API:
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;
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:
Según la necesidad, seleccione el valor que debe devolverse al token:
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:
Comience el sitio web:
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
Use Token para solicitar, la siguiente figura se puede ejecutar con éxito:
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:
En este punto, este artículo ha terminado!