我有一个用GO编写的api,目前,它根据用户名和密码提供授权令牌。(不含马绍尔)我正在尝试使用微软帐户实现 MSAL 登录。我已设置角度前端以将用户登录到 Azure AD 应用注册。是否可以验证他们是否已成功登录到 Azure AD,并从我的 GO API 向他们提供我的一个令牌(与 msal 无关)?他们用于使用MSAL登录的用户名也存在于我的后端,流程将如下所示;用户使用 MSAL 登录 ->我的前端使用用户名 -> golang 向 golang 后端发出请求,验证此用户名是否已使用 MSAL 登录 -> 后端为此用户提供令牌似乎戈兰与MSAL的集成是有限的,所以不确定这有多大可能。谢谢。
1 回答
慕田峪9158850
TA贡献1794条经验 获得超7个赞
可以执行的操作是从 Azure AD 获取前端 API 的访问令牌。为此,你将在 Azure AD 中注册 API,或使用相同的应用注册。无论采用哪种方式,都应在注册的“公开 API”页中添加一个作用域。然后,前端可以使用该作用域的 ID 来获取所需的令牌。
然后,API 可以具有验证访问令牌并颁发本地令牌的终结点。访问令牌将包含用户的用户名,例如,如果要映射到该用户名。更可靠的方法是映射到用户的对象ID(也在令牌中),因为它是不可变的,与用户电子邮件不同。
对于令牌验证,您应该能够使用通用 JWT 验证库。另请记住,在你定义的令牌中检查该作用域以正确授权请求。
- 1 回答
- 0 关注
- 63 浏览
添加回答
举报
0/150
提交
取消