IdentityServer4 中使用 ASP.NET Core Identity 的注意事項

ASP.NET Core Identity 和 IdentityServer4 都是基於 ASP.NET Core 身份認證系統實現的一個組件,

當我們在 IdentityServer4 中集成 ASP.NET Core Identity 這個組件時,會出現一些奇怪的問題,比如看起來已經認證通過,但 WebApi 卻返回 404

這是由於 Identity 會註冊它自己 AuthenticationScheme,而 IdentityServer4 也會註冊自己的 Scheme,我們需要在調用 services.AddAuthentication( options=> { } ) 中替換掉 Identity 的 Scheme,因爲我們真正使用的是 IdentityServer4 的 Scheme。

 services.AddAuthentication(options =>
 {
	 options.DefaultAuthenticateScheme = "Bearer";
	 options.DefaultChallengeScheme = "Bearer";
 })

必須在 services.AddIdentity<T>() 之後調用 service.AddAuthentication() 才能覆蓋。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章