我想知道有关facebook中的oAuth流程的事情。
我有一个facebook应用程序。
当我直接到达我的应用程序站点(不通过facebook ),即在地址栏中输入我的应用程序站点URL时,我到达了我的应用程序。我们来说:https://myApp.com/fbApp
在服务器端有oAuth流(发送对“code”参数的请求,然后使用“code”参数发送对“user access token”的另一个请求)。
我想知道Facebook如何知道谁是提出“代码”参数请求的用户。 我注意到,当我进入Facebook时,我将直接访问我的网站(如上所述),我将获得“用户访问令牌”。
当第一次向facebook提出“代码”参数请求时,他们的其他内容是否会在幕后传输?
答案 0 :(得分:0)
是的,当第一次向Facebook发送重定向请求以获取代码参数时,用于转发到Facebook的URI包括客户端ID(请参阅https://github.com/jcleblanc/oauth/blob/master/oauth2-php-facebook/index.php第7行)。此客户端ID指的是网站开发人员在https://developers.facebook.com/apps为其网站创建的应用程序。
获取代码参数后,站点向Facebook发出HTTP POST请求以交换访问令牌的代码。在此请求中,客户端ID和客户端密钥都已传输(请参阅https://github.com/jcleblanc/oauth/blob/master/oauth2-php-facebook/complete.php第10行)。这两个密钥(客户端ID和客户端密钥)是直接引用已创建的应用程序的密钥。
我希望有帮助, 乔恩