如何在IIS中使用IdentityServer4託管ASPNET CORE APP。該應用程序從本地主機運行良好,但不是在IIS中的Web應用程序設置。使用身份模型或通過郵遞員從一個控制檯應用程序試圖當內部服務器錯誤 -Identityserver4 - 在IIS中託管
例如
http://localhost:5000/connect/token是工作,但http://example.com/myauthapp/connect/token不可達 - 返回500。我可以使用網絡瀏覽器登錄到應用程序,但不能通過控制檯應用程序或郵遞員登錄。
進一步的故障排除,我找到下面。 發生未處理的異常:IDX10638:無法創建SignatureProvider,'key.HasPrivateKey'爲false,無法創建簽名。鍵:Microsoft.IdentityModel.Tokens.RsaSecurityKey。 System.InvalidOperationException:IDX10638:無法創建SignatureProvider,'key.HasPrivateKey'爲false,無法創建簽名。鍵:Microsoft.IdentityModel.Tokens.RsaSecurityKey。 在Microsoft.IdentityModel.Tokens.AsymmetricSignatureProvider..ctor(SecurityKey鍵,字符串算法,布爾willCreateSignatures) 在Microsoft.IdentityModel.Tokens.CryptoProviderFactory.CreateSignatureProvider(SecurityKey鍵,字符串算法,布爾willCreateSignatures) 在System.IdentityModel.Tokens .Jwt.JwtSecurityTokenHandler.CreateEncodedSignature(字符串輸入,SigningCredentials signingCredentials) 在System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.WriteToken(SecurityToken令牌) 在IdentityServer4.Services.DefaultTokenCreationService.CreateJwtAsync(JwtSecurityToken JWT) 在IdentityServer4.Services.DefaultTokenCreationService .d__3.MoveNext() ---上一個拋出異常的位置的堆棧跟蹤結束---
請告訴我該怎麼辦?
在服務器中安裝X509Certificate後,所有工作正常。謝謝Jeffrey T. Fritz爲下面的文章幫助我解決了https://blogs.msdn.microsoft.com/webdev/2016/10/27/bearer-token-authentication-in-asp-net-core/ – Arun
嗨@阿倫。我在測試服務器(www)上也遇到同樣的問題。所以我使用visual studio命令在本地PC上創建了一個自簽名的「* .pfx」證書,然後將其添加到「AddSigningCredential」身份,並且在localhost上正常工作。但在測試服務器(www)上,我現在得到一個500錯誤,根本沒有日誌。你是如何爲你的網站創建/獲得* .pfx證書的? (複製它沒有爲我工作,或者使用IIS創建一個pfx) –
看看進程運行的用戶,然後以該用戶身份登錄,以允許窗口爲該用戶自動生成私鑰,查看我的解決方案及以下 – CodeCowboyOrg