Ogg*_*las 5 c# azure identityserver4 blazor blazor-webassembly
我创建了一个新的 Blazor WebAssembly 应用程序,其中包含个人用户帐户、应用程序内存储用户帐户和 .NET 5 中托管的 ASP.NET Core。将我的应用程序部署到 Azure 应用服务时,出现以下错误:
\n\n\n未将对象引用设置为对象的实例。at\nMicrosoft.Extensions.DependencyInjection.IdentityServerBuilderConfigurationExtensions
\n
阅读这些链接我必须在生产中为 IdentityServer 提供我自己的证书:
\nBlazor Web Assembly 应用程序 .Net Core 托管:发布运行时错误
\n\n\n然后我创建了一个.pfx这样的文件,并且我已经验证它是否有效并且我的密码是正确的。
然后,我将该.pfx文件放置在我的Server项目根文件夹中并标记Copy to Output Directory为Copy Always.
然后我更新appsettings.json为如下所示:
"IdentityServer": {\n "Clients": {\n "BlazorTest.Client": {\n "Profile": "IdentityServerSPA"\n }\n },\n "Key": {\n "Type": "File",\n "FilePath": "localhost.pfx",\n "Password": "MySercurePassword123?"\n }\n },\nRun Code Online (Sandbox Code Playgroud)\n现在该项目既无法在本地运行,也无法在 Azure 上运行。它失败并app.UseIdentityServer();出现Startup.cs以下错误:
\n\nNewtonsoft.Json.JsonReaderException:\'解析数字时\n遇到意外字符:\xef\xbf\xbd。路径\'\',第1行,位置1。\'
\n
根据 Microsoft 文档,我的证书应该有效:
\n用于签署令牌的生产证书。
\n如果我像这样加载密钥,它会起作用:
\n"Key": {\n "Type": "Store",\n "StoreName": "My",\n "StoreLocation": "CurrentUser",\n "Name": "CN=blazortest"\n}\nRun Code Online (Sandbox Code Playgroud)\n
我可以通过删除appsettings.Development.json中的 IdentityServer 条目来解决此问题。
从应用程序设置中删除以下行。开发.json:
"IdentityServer": {
"Key": {
"Type": "Development"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1546 次 |
| 最近记录: |