下面是关于OAuth2.0 https://developers.google.com/youtube/v3/guides/authentication的教程
看起来很清楚OAuth2.0是如何工作的。但我在访问令牌部分有点困惑。
在为用户获取访问令牌之后,应用程序可以使用该令牌代表该用户提交授权API请求。API支持指定访问令牌的两种方法:将访问令牌指定为access_token查询参数的值: www.googleapis.com/youtube/v3/videos?access_token=ACCESS_TOKEN
如果有人在url传输期间获得了这个访问令牌,他们可以访问这个受保护的资源,对吗?
服务器如何知道请求是否来自最初请求访问令牌的客户端?
更新:在看完这篇文章之后,Are HTTPS headers encrypted?,Are HTTPS headers encrypted?。我认为查询字符串在网络传输过程中没有加密。
发布于 2013-05-06 21:11:44
通常,我认为大家的共识是,OAuth 2.0是一种服务器端技术,所有访问令牌和通信都应该使用SSL作为承载令牌进行传输,需要尽可能地保持安全。
发布于 2013-05-07 04:30:48
另外,您需要知道在OAuth 2.0中有两种类型的流
隐式授予流--这是用户登录到服务提供者并由他的浏览器获取访问令牌的流程。假设你有X.com和通过Facebook登录。一旦用户在其FB凭据中的密钥,访问令牌将被发送到他的浏览器。
( ii) 授权代码流-在此流程中(再次考虑上述情况),facebook将向用户浏览器传递授权代码。如果有人以某种方式拦截了授权代码,他就无能为力了。当使用有效的客户端凭据传递时,可以将授权代码交换为访问。因此,当用户登录时,他的浏览器将获得一个授权代码,该代码将在X.com上传递给您的服务器。在那里,您将访问由FB提供的代码令牌交换端点,并将访问令牌返回到您的服务器!
授权代码流增加了另一层安全性,其中访问令牌仅对客户端+服务器可见,而对用户代理不可见。就像你自己发现的那样,令牌是通过HTTPS传递的。
https://stackoverflow.com/questions/16407127
复制相似问题