为了账号安全,请及时绑定邮箱和手机立即绑定

验证用户是否已使用 MSAL/Azure AD 登录,并为他们提供我的单独 API 的令牌

验证用户是否已使用 MSAL/Azure AD 登录,并为他们提供我的单独 API 的令牌

Go
富国沪深 2022-09-12 20:49:26
我有一个用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 验证库。另请记住,在你定义的令牌中检查该作用域以正确授权请求。


查看完整回答
反对 回复 2022-09-12
  • 1 回答
  • 0 关注
  • 63 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信