在提供商之间共享OAuth2令牌

时间:2014-02-05 08:31:27

标签: php oauth oauth-2.0 google-oauth facebook-oauth

我目前正试图围绕一个相当复杂的OAuth2用例。我有两个服务器,一个是客户端Web服务器,它服务于一个网站,另一个是API服务器,用于连接我们所有的后端数据。

目前,用户使用基本UserCredentials流程,在我们的API服务器上创建访问令牌,然后用于签署从网络服务器到API的所有请求

我是否有办法允许用户使用Google或Facebook登录,并使用生成的访问令牌以与上述相同的方式签署API请求,或者在我们的API上创建访问令牌,然后使用和上面一样吗?

1 个答案:

答案 0 :(得分:0)

总之:没有。

让我试着解释一下原因。让我们先看一下Google,要访问谷歌,您需要在Google Apis控制台中注册您的应用程序。当您要求用户允许您访问Google数据时,您可以使用从apis控制台获得的客户端ID和密码来执行此操作。然后谷歌开始为your application创建there api访问令牌,此信息全部存储在服务器上。当您尝试使用该访问令牌时,他们知道哪个用户通过api为您提供了访问数据的权限。

现在,Facebook和您的服务也是如此。它们都是不同公司提供的不同API。他们创建了访问令牌谷歌无法创建一个访问令牌来访问Facebook上的数据,然后Facebook可以访问谷歌。事情就是这样不行。