【发布时间】:2017-11-18 01:56:52
【问题描述】:
如何限制来自未知来源的 openid-connect 请求。
如果我们有可用的访问令牌,任何人都可以请求我们想要限制的用户信息(我们将用户信息和声明保存到用户信息中)。
意味着,我们应该只允许来自已知客户的请求。
注意:我们使用 Keycloak 作为身份服务器
请帮忙!!
【问题讨论】:
标签: oauth-2.0 openid-connect keycloak userinfo
如何限制来自未知来源的 openid-connect 请求。
如果我们有可用的访问令牌,任何人都可以请求我们想要限制的用户信息(我们将用户信息和声明保存到用户信息中)。
意味着,我们应该只允许来自已知客户的请求。
注意:我们使用 Keycloak 作为身份服务器
请帮忙!!
【问题讨论】:
标签: oauth-2.0 openid-connect keycloak userinfo
首先,访问令牌必须与用户凭据一样受到保护。 OAuth2.0 框架给我们的是用动态生成的令牌替换基于用户名/密码的身份验证/授权的能力。因此,这些令牌必须受到保护。这就是为什么 TLS 是令牌传输的必要条件。
RFC6749 section 10.3 - 访问令牌凭据(以及任何 机密访问令牌属性)必须在 中转和存储,只在授权之间共享 服务器,访问令牌对其有效的资源服务器,以及 向其颁发访问令牌的客户端。访问令牌 凭据必须仅使用 TLS 传输,如 第 1.6 节,使用 [RFC2818] 定义的服务器身份验证。
因此,如果您担心访问令牌滥用,您必须首先担心采用基于令牌的通信。您的客户必须足够安全,不会滥用令牌。
您还可以做的另一件事是启用 CORS 标头以限制对端点的访问。但是,这只是在保护令牌之后。!
p.s 或者,可以将网络配置设置为仅允许已知/有效的 IP 地址与您的后端通信。但这超出了 OIDC 协议。
【讨论】: