本文演示了如下内容:

 

1. 部署了一个Node JS WEB API, 该API受AAD B2C保护(使用Passport.js );

2. 使用POSTMAN 模拟客户端请求,从AAD B2C获取Access Token后向API发起请求;

 

步骤:

1. 准备Node js API 网站,该网站为微软示例代码;

2. 在AAD B2C中为Node js API 新增应用程序,并添加已发布的作用域;

3. 在AAD B2C中为Postman 新增应用程序,并将该应用程序对 Node js API 应用授权;

4. 增加ROPC登录用户流(无需浏览器的用户流);

5. 在Postman中使用ROPC终结点获取Access Token;

6. 在Postman中携带Access Token访问Node js API;

 

视频介绍:

您可以在B站观看本节视频:https://www.bilibili.com/video/BV1Cc411h7fM/

 

图文介绍:

本文使用示例代码:https://github.com/Azure-Samples/active-directory-b2c-javascript-nodejs-webapi

添加一个Node JS 的 应用程序:

注意,本例子中 回复URL填写:https://localhost:5000, 该值是因为我们示例代码是通过该url访问的。

ID URI 填写 ”API“ 或者其他值都可以。

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

 

在已发布的作用域中增加如下两项:

本例中,需至少保留demo.read,原因是示例代码中,对"demo.read"这个字符串进行了检测。

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

如下图,代码中使用了“demo.read”字符串进行了权限检测,如果要修改,则Azure Portal中的 AAD B2C中的应用已发布作用域和代码需要同时修改才行!

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

 

接下来创建 postmanclient应用程序:

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

 

设置API访问权限,允许postmanclient访问 api的权限:

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

 

修改示例代码中的配置文件:

本文视频中的第06:00分钟进行了详细的配置解释,介绍了如何找到这些值;

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

对于配置中的用户流,需要新建一个 ROPC类型的用户流,该类用户流不需要使用浏览器跳转以登录获取Token:

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

根据需要,选择需要返回到Token中的 值即可:

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

 

示例代码逻辑如下:

如果用户权限中有 “demo.read”,则返回用户name属性,否则,返回403错误:

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

 

启动网站:

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

按照如下参数即可取出Access Token:

其中如下值需要根据实际情况修改,本文视频10:00左右详细解释了每个字段从哪里可以取到值

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

 

使用Token进行请求,如下图可以执行成功:

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

 

同时,我们可以在Node JS的代码中拿到用户信息,拿到用户信息后,可以跟业务逻辑进行集成了:

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

 

至此,本文结束!

 

 


 


声明:

 

点击可查阅本站文章目录 《文章分类目录》

本站所有内容仅代表个人观点,如与官文档冲突,请以官方文档为准。

可在本页面下方留言或通过下方联系方式联系我:

微信:wxyusz;邮箱:[email protected]

欢迎关注公众号“云计算实战”,接收最新文章推送。

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

Azure Active Directory B2C-(4) 体验使用AAD B2C保护Node JS Web API(passport.js)

本作品由Sean Yu 采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
欢迎转载、使用、重新发布,但务必保留文章链接:https://www.51azure.cloud,且不得用于商业目的。

相关文章:

  • 2022-12-23
  • 2021-11-18
  • 2021-04-14
  • 2021-05-27
  • 2021-12-22
  • 2021-10-30
  • 2021-06-07
  • 2021-04-12
猜你喜欢
  • 2022-01-18
  • 2021-09-16
  • 2021-11-09
  • 2021-07-07
  • 2021-08-31
  • 2021-05-10
  • 2021-09-10
相关资源
相似解决方案