我們有一個 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貢獻1776條經驗 獲得超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
- 1 回答
- 0 關注
- 103 瀏覽
添加回答
舉報
0/150
提交
取消