首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证会话仍然有效的Id演奏会模型/ with 4

验证会话仍然有效的Id演奏会模型/ with 4
EN

Stack Overflow用户
提问于 2021-10-06 04:01:57
回答 1查看 180关注 0票数 0

我无法让IdentityModel验证令牌是否仍然有有效的会话。这是我的客户代码。_httpHttpClient的一个实例。

在这种情况下,不要用用户名/密码来评判我。这是一个值得信赖的应用程序,我首先从一个更简单的场景开始,接下来我计划继续使用混合模型。

代码语言:javascript
复制
var discovery ??= await _http.GetDiscoveryDocumentAsync("http://localhost:5000");
var response = await _http.RequestPasswordTokenAsync(new PasswordTokenRequest
            {
                Address = discovery.TokenEndpoint,
                ClientId = ClientId,
                ClientSecret = ClientSecret,
                Scope = "api1",
                UserName = "test",
                Password = "test"
            }); // This succeeds while returning an AccessToken
var introspectionResponse = await _http.IntrospectTokenAsync(new TokenIntrospectionRequest
            {
                Address = discovery.IntrospectionEndpoint,
                ClientId = ClientId,
                ClientSecret = ClientSecret,
                Token = response.AccessToken
            }); // This fails with an unauthenticated error
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-06 04:54:59

我在这里的最佳猜测是,它必须是一个引用令牌流。有点让人费解。这里的困惑是ClientIdClientSecret

  1. 您在创建ClientId时提供的ClientSecretAccessToken是最终用户的ClientIdClientSecret
  2. 您在内省ClientIdClientSecret时提供的AccessToken应该是资源的Name,而不是最终用户ClientIdClientSecret,而是Secret

IdentityServer中,内省端点的客户端是API或Resource,而不是最终用户。阅读完整的docs 这里

在您的例子中,将api1传递为ClientId,将api1的秘密传递为ClientSecret,同时内省AccessToken。应该管用的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69459686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档