【发布时间】:2020-11-17 19:09:33
【问题描述】:
我目前的设置是这样的。整个项目是使用这里的官方文档构建的 - https://identityserver4.readthedocs.io/en/latest/
- API 服务器
- 具有本地登录、google 登录和 github 登录的身份验证服务器
- 基于控制台的 c# 客户端
- 基于 JS 的客户端
- 基于 MVC 的客户端。
(全部,如官方文档中所述)
在本地,它们都运行良好。能够登录,访问api端点,注销,重定向,整个事情都很顺利。
我已将所有 5 个部署到五个不同的 azure Web 应用程序。它们都有可供使用的标准 xyz.azurewebsites.net 域。现在,我遇到了一些问题。 控制台 C# 客户端能够与部署的身份验证服务器对话,使用身份验证服务器上的本地帐户收集令牌,并调用部署的 API 服务器。基于此,我假设 api 服务器和 auth 服务器应该携手合作。
问题 #1 - JS 客户端一直在说
'The login is blocked because of CORS Missing Allow Origin '
问题 #2 - MVC 客户端加载身份验证服务器,然后身份验证服务器给我这个错误。
Sorry, there was an error : unauthorized_client
Request Id: 80005c0f-0000-eb00-b63f-84710c7967bb
注意:我在身份验证服务器上设置了 CORS 策略,这两个客户端都在客户端定义下,如下所示。我不太关心保持身份验证服务器处于打开状态,所以不要介意是否有任何域都可以调用身份验证服务器。
AllowedCorsOrigins = { "*.*" },
另请注意:我在部署之前在代码中设置了 URL。所有 loclahost:port number 行都已正确替换为相应的现已发布的 URL。
那么,我在这里错过了什么?
更新 1
我能够解决 CORS 问题。已在此处发布另一个问题的答案。
Not able to enable CORS for identity server 4 in asp.net core
更新 2
所以,现在,JS 客户端和 MVC 客户端都给出了相同的错误。
抱歉,出现错误:未授权客户端 请求编号:80005c0f-0000-eb00-b63f-84710c7967bb
更新 3
我打开了一个包含日志详细信息的问题。
https://github.com/IdentityServer/IdentityServer4/issues/4691
【问题讨论】:
标签: asp.net-core identityserver4