我目前正试图围绕一个相当复杂的OAuth2用例。我有两个服务器,一个是客户端Web服务器,它服务于一个网站,另一个是API服务器,用于连接我们所有的后端数据。
目前,用户使用基本UserCredentials流程,在我们的API服务器上创建访问令牌,然后用于签署从网络服务器到API的所有请求
我是否有办法允许用户使用Google或Facebook登录,并使用生成的访问令牌以与上述相同的方式签署API请求,或者在我们的API上创建访问令牌,然后使用和上面一样吗?
答案 0 :(得分:0)
总之:没有。
让我试着解释一下原因。让我们先看一下Google,要访问谷歌,您需要在Google Apis控制台中注册您的应用程序。当您要求用户允许您访问Google数据时,您可以使用从apis控制台获得的客户端ID和密码来执行此操作。然后谷歌开始为your application
创建there api
访问令牌,此信息全部存储在服务器上。当您尝试使用该访问令牌时,他们知道哪个用户通过api为您提供了访问数据的权限。
现在,Facebook和您的服务也是如此。它们都是不同公司提供的不同API。他们创建了访问令牌谷歌无法创建一个访问令牌来访问Facebook上的数据,然后Facebook可以访问谷歌。事情就是这样不行。