【问题标题】:What is the purpose of claims request parameter on OAuth 2.0?OAuth 2.0 上声明请求参数的用途是什么?
【发布时间】:2016-07-18 14:26:39
【问题描述】:

OpenID 规范 5.5 解释 RP 可以使用声明请求参数请求声明。 http://openid.net/specs/openid-connect-core-1_0.html#ClaimsParameter

这个功能的目的是什么?

由于用户能够设置声明,此功能是否会造成安全漏洞?

例如用户可以将浏览器上的 URL 修改为:

https://op.example.com/authorize?
response_type=code
&client_id=client
&redirect_uri=https://client.example.com
&scope=openid
&claims={“userinfo” : {“sub”: { “value” : “superuser”}} , “id_token” : {“sub”: { “value” : “superuser” }}}

如果 OP 实现了这个功能,那么 OP 会将该声明放入 id 令牌和用户信息中。

【问题讨论】:

    标签: security oauth-2.0


    【解决方案1】:

    此功能的目的是请求声明,可能具有特定的期望值。这并不意味着 RP 能够设置声明值。相反,OP 应该验证哪些请求的声明和值与经过身份验证的用户匹配,并仅返回那些有效的声明。

    【讨论】:

    • 这意味着,例如在 db 中,我用 x 和 y 保存了 sub。声明包含 y ,只有当用户 y 登录时我才应该提供访问令牌?如果不是我应该出错?还是?
    猜你喜欢
    • 2010-12-13
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    相关资源
    最近更新 更多