【发布时间】:2018-05-29 13:12:01
【问题描述】:
我想在登录后以编程方式获取当前用户的访问令牌。我已经知道如何使用客户端凭据获取令牌,但我不知道如何代表用户获取令牌。
这是我尝试使用客户端凭据获得的结果:
var client = new TokenClient("http://localhost:34240/connect/token", "client", "secret", AuthenticationStyle.PostValues);
var token = client.RequestClientCredentialsAsync(scope: "api").GetAwaiter().GetResult();
我是否需要使用acr_values 为请求添加主题值?如果是,如何将其添加到返回的访问令牌中?
或者我需要改用code 授权类型吗?如果是,我如何以编程方式请求授权码?
或者还有其他我想念的方法吗?
如果有任何帮助,我将不胜感激。我检查了 IdentityServer 示例,但没有看到任何相关信息。
【问题讨论】:
-
用户如何登录?通过身份服务器?我会怀疑你有 idToken。使用此令牌,您可以像向该用户一样请求访问令牌。
-
也许 refreshtokens 是您要找的? docs.identityserver.io/en/release/topics/refresh_tokens.html
标签: c# asp.net asp.net-mvc asp.net-core identityserver4