gpt4 book ai didi

c# - IdentityServer4 如何创建身份 token ?

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

我遵循了几个教程和 IdentityServer4 文档及其术语:Terminology但我不明白哪个端点可以为用户获取 id token 。我想我可以改变现有的方式来获得访问 token 来获取 id token ,但是没有一种方法给出结果:

        var disco = new DiscoveryClient("http://localhost:55678");
var discoResponse = disco.GetAsync().Result;
if (discoResponse.IsError)
{
return null;
}

var tokenClient = new TokenClient(discoResponse.TokenEndpoint, "mvc", "secret");
var tokenResponse = tokenClient.RequestResourceOwnerPasswordAsync(context.EmailAddress, context.Password, "email");
var token = tokenResponse.Result;

我理解resourceownerpassword方式只是为了使用密码访问资源,而不是为了识别用户。

当我尝试配置我的 jwtendpoint 时,我想我可以询问一个 id token 但没有结果:

        services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(opts =>
{
opts.Authority = "http://localhost:55678/";
opts.Audience = "api1";
opts.RequireHttpsMetadata = false;
opts.SaveToken = true;
});

我不知道哪个端点用户可以获取 jwt id token 。

最佳答案

您无法通过密码授予获得身份 token

用于获取身份 token 的端点是 Authorize EndPoint但您不能对此端点使用密码授予

您可以从 UserInfo Endpoint 访问用户信息(声明)使用访问 token

关于c# - IdentityServer4 如何创建身份 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50019121/

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