我对oauth2.0做了很好的研究。但是到了客户端向授权服务器请求访问令牌的部分,我完全迷失了
如何通过tls保护这种通信?这种通信不涉及用户代理(浏览器),所以我假设这是客户端 - 服务器通信。那么,证书验证是如何进行的。我不记得从facebook服务器导入任何证书到我的测试应用程序的密钥库。
我无法就此找到任何正确的答案
问候,阿米特
从OAuth 2.0的角度来看,访问令牌是凭据。访问令牌可用于访问受OAuth 2.0保护的资源。
当数据通过网络传输时,攻击可以针对从线路中提取数据。如果传输的数据未加密,则此类攻击将揭示正在传输的普通数据。如果此类数据包含令牌请求和响应,则恶意方可以提取访问令牌。这也在RFC6749中突出显示,
Since requests to the token endpoint result in the transmission of
clear-text credentials (in the HTTP request and response), the
authorization server MUST require the use of TLS as described in
Section 1.6 when sending requests to the token endpoint.
当客户端与授权服务器建立连接时,该连接在公共网络上也会打开。因此也存在攻击。这就是您必须使用TLS进行令牌请求的原因。
现在,TLS的功能是一个单独的主题。它使用由证书颁发机构(CA)颁发的数字证书。存在受信任的CA,默认情况下受操作系统信任。因此,当您使用Facebook连接时,如果Facebook使用由知名CA颁发的tls证书,那么您不必配置任何内容。