我有一個用GO編寫的api,目前,它根據用戶名和密碼提供授權令牌。(不含馬紹爾)我正在嘗試使用微軟帳戶實現 MSAL 登錄。我已設置角度前端以將用戶登錄到 Azure AD 應用注冊。是否可以驗證他們是否已成功登錄到 Azure AD,并從我的 GO API 向他們提供我的一個令牌(與 msal 無關)?他們用于使用MSAL登錄的用戶名也存在于我的后端,流程將如下所示;用戶使用 MSAL 登錄 ->我的前端使用用戶名 -> golang 向 golang 后端發出請求,驗證此用戶名是否已使用 MSAL 登錄 -> 后端為此用戶提供令牌似乎戈蘭與MSAL的集成是有限的,所以不確定這有多大可能。謝謝。
1 回答
慕田峪9158850
TA貢獻1794條經驗 獲得超8個贊
可以執行的操作是從 Azure AD 獲取前端 API 的訪問令牌。為此,你將在 Azure AD 中注冊 API,或使用相同的應用注冊。無論采用哪種方式,都應在注冊的“公開 API”頁中添加一個作用域。然后,前端可以使用該作用域的 ID 來獲取所需的令牌。
然后,API 可以具有驗證訪問令牌并頒發本地令牌的終結點。訪問令牌將包含用戶的用戶名,例如,如果要映射到該用戶名。更可靠的方法是映射到用戶的對象ID(也在令牌中),因為它是不可變的,與用戶電子郵件不同。
對于令牌驗證,您應該能夠使用通用 JWT 驗證庫。另請記住,在你定義的令牌中檢查該作用域以正確授權請求。
- 1 回答
- 0 關注
- 98 瀏覽
添加回答
舉報
0/150
提交
取消
