我在IdentityServer中设置了以下客户端:
new Client
{
ClientName = "My web application",
Enabled = true,
ClientId = "mywebapp",
ClientSecrets = new List<ClientSecret>
{
new ClientSecret("somesecret")
},
Flow = Flows.Hybrid,
ClientUri = "https://app.mydomain.com",
RedirectUris = new List<string>
{
"oob://localhost/wpfclient",
"http://localhost:2672/",
"https://app.mydomain.com"
}
}
它是在线托管的,让我们说https://auth.mydomain.com/core
。
尝试在Startup.cs
修改ClientId
,ClientSecret
和{{1}匹配IdSrv中的客户端设置。现在,当我尝试导航到需要授权的页面时,我被重定向到IdentityServer的URL。当我登录时,断点会在客户端RedirectUri
的{{1}}通知中点击,然后进入循环。浏览器的状态显示:
AuthorizationCodeReceived
依此类推,永远不会完成登录。为什么会这样?请帮忙。
谢谢!
答案 0 :(得分:7)
最有可能的原因是重定向中混合了http和https。请始终使用一个方案,并在浏览器地址栏上检查方案。