【问题标题】:Check Validity of JWT on identity server在身份服务器上检查 JWT 的有效性
【发布时间】:2019-05-22 03:33:58
【问题描述】:

我的 WSO2 身份服务器发出 JWT,在我的 .net 核心后端,我想联系身份服务器检查令牌(例如,它可能已被撤销)...

我该怎么做?

【问题讨论】:

  • 您可以通过启用自省来做到这一点。但是无法正常撤销访问令牌。 ID 服务器在数据库中保留的唯一内容是参考令牌和用户授权。
  • 这样做的端点是什么?我读过... API Manager 1.9.1 有这个功能吗?
  • 您使用的是哪个身份服务器?对于 IdentityServer4 - 它是 https://demo.identityserver.io/.well-known/openid-configuration "introspection_endpoint":"https://demo.identityserver.io/connect/introspect"
  • 抱歉,我没有看到您使用的是 WSO2 ID 服务器。以下是自省和发现端点文档的链接:https://docs.wso2.com/display/IS540/OAuth2+Token+Validation+and+Introspectionhttps://docs.wso2.com/display/IS530/OpenID+Connect+Discovery
  • 我没有使用过 wso2,所以不确定它是否需要一些明确的启用。尽管如此,由于额外的开销,不推荐使用自省方法。这就是为什么访问令牌默认的生命周期通常很短。

标签: c# authentication jwt wso2is


【解决方案1】:

首先检查您为什么要这样做。任何明智的情况都必须涉及缓存。令牌是什么。

我们要做的是: * 你得到 2 个令牌,一个 accessToken 和一个刷新令牌。 * 访问令牌在后端被接受,没有问题。 5分钟有效。 * 刷新令牌正在执行完整的帐户检查。撤销?没有新的访问令牌。

不检查就做同样的事情;)

【讨论】:

  • 对不起,我不关注...请在此处指导我:我的移动应用程序将向我的 api 发出通知令牌的请求。如果我不应该联系 Identity Server,我什至应该如何检查令牌是否有效?
  • 应该在每次请求时检查令牌,不是吗?如果令牌在两者之间被撤销怎么办?该应用程序将授权关键操作,不是吗?基本假设是令牌无效!整个想法是知道它是否是有效的身份验证
  • 好的,但是我如何检查令牌是否不是一堆随机字母并且实际上是有效的?!?我如何知道eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJPbmxpbmUgSldUIEJ1aWxkZXIiLCJpYXQiOjE1NDU0MTcyMTcsImV4cCI6MTU3Njk1MzIxNywiYXVkIjoiYmxhLmNvbSIsInN1YiI6ImpAYmxhLmNvbSIsIkdpdmVuTmFtZSI6IkpvaG5ueSJ9.IpsSmKmglqq1ELRDe9r_HsSjE3MJ6gg5V01x3HR48QI 是否真的由我的身份服务器发出?!?
  • @Leonardo 这通常是自动完成的,因为由身份服务器签名的令牌和通常使用的中间件命中身份服务器发现端点以验证颁发者。无论如何,您可以以额外的 http 请求开销为代价启用自省来实现额外的验证。
猜你喜欢
  • 1970-01-01
  • 2016-10-12
  • 2023-03-28
  • 2019-08-14
  • 2015-07-18
  • 1970-01-01
  • 2017-03-08
  • 2014-05-23
  • 2021-04-16
相关资源
最近更新 更多