Asp.net mvc 身份服务器端点OIDC
我正在使用Identity server并将其托管在IIS下。当直接在Asp.net mvc 身份服务器端点OIDC,asp.net-mvc,iis,asp.net-core,identityserver3,identityserver4,Asp.net Mvc,Iis,Asp.net Core,Identityserver3,Identityserver4,我正在使用Identity server并将其托管在IIS下。当直接在http://localhost:44431 第1步:呼叫。。。。 步骤2:然后它转到授权端点并返回令牌 本地主机下的问题主机\id: 但是,当我将应用程序作为localhost\id部署到默认网站下的IIS上时。它停止工作了 第1步:呼叫 >>检查请求头: >>响应标题: >>在打开Id配置 步骤2:调用/connect/authorize端点: >>检查标题: 它没有包含id虚拟目录,这就是它失败的原因。在这个过程中
http://localhost:44431
第1步:呼叫。。。。
步骤2:然后它转到授权端点并返回令牌
本地主机下的问题主机\id:
但是,当我将应用程序作为localhost\id
部署到默认网站下的IIS上时。它停止工作了
第1步:呼叫
>>检查请求头:
>>响应标题:
>>在打开Id配置
步骤2:调用/connect/authorize
端点:
>>检查标题:
它没有包含
id
虚拟目录,这就是它失败的原因。在这个过程中,我要在哪里解决这个问题 我无法重现您的问题,但我确实从头开始在IIS中托管IdentityServer4。下面是我为安装所遵循的步骤
app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions
{
AuthenticationScheme = "oidc",
SignInScheme = "Cookies",
Authority = "http://localhost/id",
RequireHttpsMetadata = false,
ClientId = "mvc",
SaveTokens = true
});
http://localhost/id/account/login?**returnUrl=/connect/authorize/login**?respone_type
当然,正确的路径应该是:
http://localhost/id/account/login?**returnUrl=/id/connect/authorize/login**?respone_type
希望这有帮助!请让我知道开放ID配置正常。我不是在同一个项目中使用MVC应用程序,而是在不同的应用程序中使用angular2项目。但我正在从URL测试它,而不考虑其他应用程序,只需将它放在URL中。我将通过安装一个新的副本来再次复制它。那么你是手工创建那个URL吗?如果是这样,那么我在底部的建议应该可以解决这个问题——如果你在同一个域中,你仍然需要在前面的/I'd。如果跨越域,则需要是包含/id的绝对路径
http://localhost/id/account/login?**returnUrl=/id/connect/authorize/login**?respone_type