asp.net - 带有 ASP.NET Core 的 AzureAD
问题描述
因此,我们在 Angular 中有一个前端应用程序,用户可以在其中使用 MSAL 登录到 Azure Ad。登录会检索后端 api 的 accessToken,其中包含用户所在的组。因为它们只有三个可用的组,所以不会超过令牌大小。我们要调用用 ASP.NET Core 编写的 api,并配置访问令牌在请求的标头中提供。现在我们首先要创建一个 AuthenticationScheme 和三个基于组的不同策略。我们怎样才能做到这一点?我们在 ASP.NET Core 方面经验不足,也不知道如何从标头中检索组信息。
我们的第一个方法是这样的:options.AddPolicy("Administrator", builder => builder.RequireAuthenticatedUser().RequireClaim("groups", "AzureAdGroups:AdminId"));
但它没有成功。
解决方案
按着这些次序:
- 配置组可选声明,以便它们出现在您的令牌中。
- 为JwtBearer 身份验证和授权配置 WebAPI 。
- 将您的策略应用于您的控制器。
推荐阅读
- javascript - 错误:提交文档时无法在视图目录中查找视图“索引”
- excel - 在 Excel 中使用 VBA 将一列乘以存储为变量的常量
- javascript - 从组件的 props.children 访问父状态:
- python - 使用 Django 的通用日期视图有一个 404 错误
- javascript - 以最佳、快速和最小的方式检查变量是否存在 JavaScript 和 jQuery
- python - 如何更正python matplotlib图中x标签的顺序
- html - 使用 html 和 css 修复图像网格
- sql - 查询获取非活动用户
- python-3.x - Google 授权:错误 400:redirect_url_mismatch
- amazon-s3 - 使用 s3cmd,我如何在 s3 目录中按“上次修改”日期检索最新文件夹