我們有一個 ASP.NET Core Web API,我想使用 Microsoft Graph 訪問令牌保護它。圖形令牌有效,我可以進行圖形調(diào)用,它工作正常。但是,如果我嘗試訪問配置了 JWT Bearer 身份驗證的 ASP.NET Core Web API,則會出現(xiàn)以下錯誤。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 回答

叮當(dāng)貓咪
TA貢獻1776條經(jīng)驗 獲得超12個贊
我們有一個 ASP.NET Core Web API,我想用 Microsoft Graph 訪問令牌保護它
不,我建議將您的 web api 注冊為受 Azure AD 保護的資源。
Microsoft Graph API 令牌用于訪問 Microsoft Graph,Microsoft Graph 的服務(wù)器端將在收到 JWT 令牌后驗證聲明/簽名。此外,我記得 Microsoft Graph API 訪問令牌的簽名不同于 AAD 頒發(fā)的 JWT 令牌。因此,讓 Microsoft Graph API 服務(wù)器端驗證令牌,并且令牌不應(yīng)用于保護其他 API。
您的客戶端應(yīng)用程序可以使用 OpenID Connect 中間件和 Active Directory 身份驗證庫 (ADAL.NET) 為使用 OAuth 2.0 協(xié)議的登錄用戶獲取 JWT 不記名令牌。不記名令牌被傳遞到 Web API,它使用 JWT 不記名身份驗證中間件驗證令牌并授權(quán)用戶:
使用 Azure AD 在 ASP.NET Core Web 應(yīng)用程序中調(diào)用 Web API
- 1 回答
- 0 關(guān)注
- 114 瀏覽
添加回答
舉報
0/150
提交
取消