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

使用 Microsoft Graph 令牌通过 Jwt Bearer 令牌保护

使用 Microsoft Graph 令牌通过 Jwt Bearer 令牌保护

C#
三国纷争 2022-11-21 22:01:40

我们有一个 ASP.NET Core Web API,我想使用 Microsoft Graph 访问令牌保护它。图形令牌有效,我可以进行图形调用,它工作正常。


但是,如果我尝试访问配置了 JWT Bearer 身份验证的 ASP.NET Core Web API,则会出现以下错误。


Bearer error="invalid_token", error_description="未找到签名密钥


我是否缺少一些要配置的配置,或者这是图形令牌的问题?以下是身份验证的配置方式。


        services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)

               .AddJwtBearer(options =>

               {

                   options.TokenValidationParameters = new TokenValidationParameters()

                   {

                       ValidateIssuer = false, // For multi tenant

                       ValidateIssuerSigningKey = false,

                       ValidateAudience = false // This is for testing

                   };

               });

相同的配置适用于 Azure AD 访问令牌。


查看完整描述

1 回答

?
叮当猫咪

TA贡献1491条经验 获得超12个赞

我们有一个 ASP.NET Core Web API,我想用 Microsoft Graph 访问令牌保护它

不,我建议将您的 web api 注册为受 Azure AD 保护的资源。

Microsoft Graph API 令牌用于访问 Microsoft Graph,Microsoft Graph 的服务器端将在收到 JWT 令牌后验证声明/签名。此外,我记得 Microsoft Graph API 访问令牌的签名不同于 AAD 颁发的 JWT 令牌。因此,让 Microsoft Graph API 服务器端验证令牌,并且令牌不应用于保护其他 API。

您的客户端应用程序可以使用 OpenID Connect 中间件和 Active Directory 身份验证库 (ADAL.NET) 为使用 OAuth 2.0 协议的登录用户获取 JWT 不记名令牌。不记名令牌被传递到 Web API,它使用 JWT 不记名身份验证中间件验证令牌并授权用户:

使用 Azure AD 在 ASP.NET Core Web 应用程序中调用 Web API


查看完整回答
反对 回复 2022-11-21
  • 1 回答
  • 0 关注
  • 7 浏览

添加回答

举报

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