我必须使用oAuth 2.0规范构建API,并且我的客户端不使用HTTPS协议。我的问题是,用于获取授权码的客户机密是否可以保留为机密。如果我必须使用客户机密码,客户机ID和授权代码作为参数向授权服务器发出请求,那么是否有可能从此请求中窃取信息?使用授权码和客户机密创建签名会有所帮助吗?即使所有客户端都被强制使用HTTPS,这将是必需的吗?
RFC 6749(OAuth 2.0),3.1。授权端点,第4段:
由于对授权端点的请求会导致用户身份验证和明文凭据的传输(在HTTP响应中),因此,在向授权端点发送请求时,授权服务器务必要求使用TLS(如第1.6节所述)。
因此,客户端应用程序在访问授权端点时必须使用TLS(https)。
仅供参考:如果客户端类型为“公共”并且OAuth授权服务器尚未向客户端发布客户端机密,则在授权端点上不需要客户端机密。仔细阅读RFC 6749。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句