Azure Active Directory B2C-(4) 體驗使用AAD B2C保護Node JS Web API(passport.js)

本文演示瞭如下內容:

 

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“ 或者其他值都可以。

 

在已發佈的作用域中增加如下兩項:

本例中,需至少保留demo.read,原因是示例代碼中,對"demo.read"這個字符串進行了檢測。

如下圖,代碼中使用了“demo.read”字符串進行了權限檢測,如果要修改,則Azure Portal中的 AAD B2C中的應用已發佈作用域和代碼需要同時修改才行!

 

接下來創建 postmanclient應用程序:

 

設置API訪問權限,允許postmanclient訪問 api的權限:

 

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

本文視頻中的第06:00分鐘進行了詳細的配置解釋,介紹瞭如何找到這些值;

對於配置中的用戶流,需要新建一個 ROPC類型的用戶流,該類用戶流不需要使用瀏覽器跳轉以登錄獲取Token:

根據需要,選擇需要返回到Token中的 值即可:

 

示例代碼邏輯如下:

如果用戶權限中有 “demo.read”,則返回用戶name屬性,否則,返回403錯誤:

 

啓動網站:

按照如下參數即可取出Access Token:

其中如下值需要根據實際情況修改,本文視頻10:00左右詳細解釋了每個字段從哪裏可以取到值

 

使用Token進行請求,如下圖可以執行成功:

 

同時,我們可以在Node JS的代碼中拿到用戶信息,拿到用戶信息後,可以跟業務邏輯進行集成了:

 

至此,本文結束!

 

 


 


聲明:

 

點擊可查閱本站文章目錄 《文章分類目錄》

本站所有內容僅代表個人觀點,如與官文檔衝突,請以官方文檔爲準。

可在本頁面下方留言或通過下方聯繫方式聯繫我:

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

歡迎關注公衆號“雲計算實戰”,接收最新文章推送。

知識共享許可協議

本作品由Sean Yu 採用知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協議進行許可。
歡迎轉載、使用、重新發布,但務必保留文章鏈接:https://www.51azure.cloud,且不得用於商業目的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章