我正在尝试从here实现身份模型,我试图让NetCoreConsoleClient在我的localhost:5000上使用我的IdentityServer4,并在我的本地主机上使用我的Api:5001
我的出发点是Quick start 5 Hybrid和Api流程。
所以我已将以下客户端添加到我的IdentityServer4代码中:
// Hybrid grant client
new Client
{
ClientId = "hclient",
AllowedGrantTypes = GrantTypes.Hybrid,
ClientSecrets =
{
new Secret("secret".Sha256())
},
AllowedScopes =
{
IdentityServerConstants.StandardScopes.OpenId,
IdentityServerConstants.StandardScopes.Profile,
"api1"
},
}
在NetCoreConsoleClient中,我更改了以下代码行:
static string _authority = "http://localhost:5000";
static string _api = "http://localhost:5001";
private static async Task SignIn()
{
// create a redirect URI using an available port on the loopback address.
string redirectUri = string.Format("http://127.0.0.1:7890/");
var options = new OidcClientOptions
{
Authority = _authority,
ClientId = "hclient",
RedirectUri = redirectUri,
Scope = "OpenId Profile api1",
FilterClaims = false,
Browser = new SystemBrowser(port: 7890)
};
我在帖子评论here中读到我应该使用混合流授权类型。
网络浏览器打开但我一直在:
抱歉,发生错误:unauthorized_client
我做错了什么?