gpt4 book ai didi

c# - IdentityServer4 unsupported_grant_type 错误

转载 作者:太空宇宙 更新时间:2023-11-03 12:23:15 24 4
gpt4 key购买 nike

我一直在尝试获取最简单的 IdentityServer4 示例,以便在后面的纯代码中请求访问。我可以在使用客户端请求时获得访问 token ,但在进行用户登录时却不能。

var discos = new DiscoveryClient(authority);
var disco = await discos.GetAsync();

if (disco.IsError)
{
Console.WriteLine(disco.Error);
return null;
}

var tokenClient = new TokenClient(disco.TokenEndpoint, "ro.client", "secret");

var tokenResponse = await tokenClient.RequestResourceOwnerPasswordAsync("username", "password", "api1");

这是使用用户详细信息发出请求的客户端。我得到一个永久的 unsupported_grant_type..

服务器将其设置为:

 new Client
{
ClientId = "ro.client",
AllowedGrantTypes = GrantTypes.ResourceOwnerPassword,

ClientSecrets =
{
new Secret("secret".Sha256())
},
AllowedScopes = { "api1" }
}

任何人都可以确定我在想什么。用户可以使用软件提供的前端快速启动 UI 登录,这是内置功能。如果公司有效,为什么它不起作用。

最佳答案

您的 ClientSecrets 配置为“secret”的 Sha256,而不是文字字符串“secret”。

更新您的 tokenClient 以传递“secret”的 Sha256 而不是文字字符串“secret”

var tokenClient = new TokenClient(disco.TokenEndpoint, "ro.client", "secret".Sha256());

关于c# - IdentityServer4 unsupported_grant_type 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46393908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com