使用自己的 API 后端处理社交网络身份验证

Posted

技术标签:

【中文标题】使用自己的 API 后端处理社交网络身份验证【英文标题】:handle social networks authentication with own API backend 【发布时间】:2013-01-06 23:55:54 【问题描述】:

如何在我自己的后端通过 OAuth 处理某些社交网络的身份验证?

我第一次使用 facebook 是

    直接用facebook认证客户端,获取accessToken 将 accessToken 发送到我自己的后端并创建一个新用户,从 opengraph 获取详细信息 从后端向客户端返回一个 ApiKey(自己的身份验证),每次调用我的后端时需要什么

我的问题是:

这种做法对吗?也许这适用于 facebook,但使用 twitter,我怎样才能获得“accessToken”并从 facebook 获取像 opengraph 这样的数据用户?而且,如果我需要其他社交网络,这行得通吗?

【问题讨论】:

您是否检查过这部分协议在 OAuth 1.0a 和 2.0 中是否相同?如果***是对的,Twitter and Facebook don't implement the same version. 【参考方案1】:

我相信您的方法是正确的,因为按照标准 OAuth2.0 不允许用户登录。相反,您可以在他们批准您的应用程序以访问他们的数据时获得 access_token,在您身边创建用户,仅此而已。基本上,您将使用他们的社交数据来加快用户的“注册”(甚至可能是登录过程,前提是您假设身份验证将通过社交网络完成)。

就您希望实现的通用性使其适用于所有社交网络而言,我建议您查看Spring Social,因为它已经为您做了很多此类工作(如果您想要它非常通用)。

希望有帮助!

【讨论】:

以上是关于使用自己的 API 后端处理社交网络身份验证的主要内容,如果未能解决你的问题,请参考以下文章

来自连接到 Node.js API 的移动客户端的社交身份验证

GraphQL 中的社交身份验证

如何在 Windows Phone 8 应用程序中检查社交网络身份验证?

使用 Passport 和 OAuth2 + 社交网络的 NodeJS REST 身份验证

开放流 API

AWS Cognito 用户池 + 用于身份验证/登录的社交提供商