首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用id_token对azure广告保护应用的认证

使用id_token对azure广告保护应用的认证
EN

Stack Overflow用户
提问于 2020-10-08 18:56:30
回答 1查看 955关注 0票数 0

我有两个应用程序服务,它们都是通过从azure门户配置的azure广告身份验证来保护的。

前端应用程序服务是写角的。我遵循的身份验证方法如下。

  1. 角度应用程序的负载。将get请求发送到. auth /me,它返回id_token,据我理解,这是我的第一个令牌。
  2. 我将此令牌存储,然后将此令牌在头中转发为授权:承载*,转到我的第二个应用程序服务api

然而,我观察到,也许第二个应用服务广告允许令牌第一次加载。这是不一致的,并始终提供401未经授权的错误。即使在使用2-3分钟之内。

我不确定这是否是使用id_token的正确方式,还是需要使用其他令牌。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-09 01:25:56

您混淆了ID令牌存取令牌的目的。

这里应该使用的是访问令牌。

在这个场景中,后端应用程序是受保护的web。

正如adp所建议的,您需要遵循具体信息

应用程序注册必须公开至少一个作用域或一个应用程序角色。作用域由代表用户调用的web公开。 应用程序角色是由守护进程应用程序调用的web (代表自己调用web )公开的。 如果您创建了一个新的web API应用程序注册,请选择您的web API接受的访问令牌版本为2。对于遗留的web API,接受的令牌版本可以为空,但此值仅限制组织的登录用户,并且不支持个人Microsoft帐户(MSA)。 web API的代码配置必须验证调用web时使用的令牌。 控制器操作中的代码必须验证令牌中的角色或作用域。

在Github有一个示例

为了用Azure AD保护您的API,您需要注册两个Azure AD应用程序,一个用于客户端应用程序(前端),另一个用于API应用程序(后端)。

在API应用程序中,您需要公开API。通过执行步骤7和步骤8,您可以公开范围。

然后你需要配置客户端应用程序。通过这里的步骤8,您可以将API应用程序公开的权限(范围)添加到客户端应用程序中。

使用MSAL请求访问令牌,其中包括此权限(范围)。您可以在代码中验证它。如果权限是您所期望的,则允许客户端访问您的API。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64268984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档