【问题标题】:How resource server in OAuth authentication system, verify the token?OAuth认证系统中的资源服务器如何验证token?
【发布时间】:2016-08-28 00:07:10
【问题描述】:

我知道

有类似的问题
http://stackoverflow.com/questions/12296017/how-to-validate-an-oauth-2-0-access-token-for-a-resource-server

但它没有回答我的问题。 我想问的是,在认证服务器授予访问令牌后,资源服务器如何对其进行验证?通过验证,我的意思是令牌的哪些参数有助于资源服务器验证令牌的来源和真实性。 据我所知,任何黑客都可以通过分析过去的令牌来生成伪令牌。

【问题讨论】:

    标签: authentication oauth


    【解决方案1】:

    生成的用于验证它与签名匹配的密钥。你可以使用

    https://jwt.io

    通过提供密钥来检查 jwt 令牌的签名,它将对其进行验证,并在生成 guid(Client Id) 时在 oauth 中生成密钥。

    【讨论】:

      【解决方案2】:

      我认为您将 Access TokenAuthorization Grant 混淆了。

      当用户通过授权服务器 (AS) 进行身份验证时,服务器将生成所谓的授权授权,其中包含所有相关信息,例如范围、颁发者、到期等...在大多数实现中,ss 授权将被持久化到数据库或类似的持久存储中。客户端接收然后发送到资源服务器(RS)的访问令牌将只是某种不透明的字符串,用于唯一标识由 AS 生成的有效授权授权。所以单独的访问令牌本身没有任何意义。

      这意味着 RS 自己无法验证访问令牌,只有 AS 可以。 RS 可以验证语法,但需要将 Access Token 发送到 AS 进行验证。 RS 和 AS 之间的这种交互不是 OAuth 2.0 标准的一部分,如您发布的答案中所述,由 AS 实现决定如何完成此任务。

      尽管您说任何黑客都可以生成随机访问令牌是正确的,但只有 AS 可以生成并保留授权授权。这就是在授予对任何资源的访问权限之前,您的 RS 应始终联系 AS 以验证与访问令牌相关联的授权授权的有效性的主要原因。

      我希望这能澄清你的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-28
        • 2012-08-31
        • 2019-08-10
        • 1970-01-01
        • 1970-01-01
        • 2020-11-25
        相关资源
        最近更新 更多