google-app-engine - "Google+ sign in"和 "Federated Log-in"和 "Google Users Service"有什么区别?

标签 google-app-engine oauth-2.0 google-plus google-oauth

我想将社交登录功能添加到我基于 Google App Engine 的应用程序中,因此想要添加 Google 的身份验证机制以及 FB 登录。

我很困惑,因为 Google 至少提供了 3 种不同的方法来做到这一点。

  1. Google+ 登录(https://developers.google.com/+/web/signin/server-side-flow)
  2. Google App Engine 上提供的用户服务
  3. 联合身份验证 ( https://developers.google.com/appengine/articles/openid )

我想知道哪种方法是最新的,哪种方法被广泛使用?

谢谢,

钱德拉谢卡

最佳答案

#1 Google+ Sign In允许用户通过 OAuth 2.0 登录,但要求用户启用 Google Plus。 Google+ 登录还为 Google+ API 提供了附加功能,例如共享和社交集成。但是,您可以只使用标准 OAuth 2.0用于登录,这消除了 Google+ 要求。

#2 Users Service是 Google App Engine API。它允许任何拥有 Google 帐户的用户登录。这与 OAuth 2.0 不同——它使用 Google 的标准登录页面,您可以开箱即用,无需配置任何 OAuth 范围等。您可以 get going with this very quickly .

#3 Federated Login集成了 Open ID standard使用 Google App Engine 用户 API。这允许您的用户使用 Open ID 登录(即他们已向“Open ID 提供商”注册的凭据),并且您可以使用标准用户服务 API。有许多 Open ID 提供商,包括 Google。

您的问题表明您想添加“社交登录功能”以及“FB 登录”。所以,这基本上排除了#1 和#2。不幸的是,Facebook(和 Twitter)不是 Open ID 提供商,所以这种规则 #3 也不适用。对于这些,您需要实现自己的身份验证机制(Facebook LoginSign in with Twitter)。有一个很棒的boilerplate repo on GitHub有一些代码(在 python 中)可以帮助你开始。

关于google-app-engine - "Google+ sign in"和 "Federated Log-in"和 "Google Users Service"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25000421/

相关文章:

ios - Google+ 集成 iOS - 注销时出现 EXC_BAD_ACCESS 错误

google-app-engine - 在 GAE 应用程序中超时刷新 Google oauth token

javascript - 嵌入 Google Plus 社区?

java - 如何设置 javac 编译器标志来生成 1.7 字节码?

google-app-engine - 在 GCP 上部署 SSR Web 应用程序的正确方法是什么?

java - Mapreduce - 排序作业?

java - 具有 oAuth : get the current ClientId 的端点

angularjs - 为 Apigility 验证 Angular js 模块

react-native - 在 React-Native 应用程序中使用带有授权 header 的 Axios GET

facebook - Instagram 正在使访问 token 失效。我以为他们没有?