我对oauth2全新。我需要实现oauth2来保护我的REST服务。阅读不同的博客文章后,我所说的是,
有三件事,客户端,提供商和网络应用程序。
Web应用程序想要从提供程序访问有关用户的信息。
如果客户端允许,提供商将向客户端提供授权代码,并在查询字符串中提供webapp。
现在,网络应用程序将使用授权代码获取访问令牌,使用该访问令牌可以访问资源。
现在我对授权码感到有点困惑。它安全吗?
授权码的有效期是多久?如果其他人窃取了授权码,他是否能够访问用户资源?
答案 0 :(得分:2)
RFC 6749建议授权码的最长生命周期为10分钟(4.1.2. Authorization Response)。换句话说,授权代码将在10分钟后到期。
授权代码就像是在令牌端点处与访问令牌交换的票证。授权代码不是访问令牌,因此没有人可以使用授权代码访问任何数据。此外,OAuth 2.0服务器将在交换后丢弃或使授权代码无效。
答案 1 :(得分:0)
这两个请求必须通过HTTPS(强制)完成,因为它们是对OAuth服务器的请求,该服务器必须仅支持HTTPS。它只是不必支持HTTPS的客户端/请求者服务器,因此只有Auth Code才可能通过HTTP清除。但是如果没有客户端ID /密码,Auth代码就没用了。基本上OAuth代码流的重点是,启用SSL的服务器的负担在OAuth提供商(Google / Facebook等...)上,而不是在API的用户上