Appengine上的社交身份验证有哪些不同的选项-它们如何比较? [英] What are the different options for social authentication on Appengine - how do they compare?

查看:80
本文介绍了Appengine上的社交身份验证有哪些不同的选项-它们如何比较?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

[此问题旨在作为一种手段来捕获我的发现并理智地检查它们-我将提出我的答案,并查看还会出现什么其他答案和评论.]

我花了一些时间试图了解(python)Appengine的各种社交身份验证选项.我对Google提供的身份验证机制如何与其他社交身份验证机制进行交互感到特别困惑.由于Google与第三方OpenID提供程序很好地集成在一起,但是一些最大的社交网络不是OpenID提供程序(例如,facebook,twitter),使情况变得更加复杂. [请注意,Facebook可以将OpenID用作中继方,但不能用作提供方.]

I spent a little time trying to get my head around the different social authentication options for (python) Appengine. I was particularly confused by how the authentication mechanisms provided by Google can interact with other social authentication mechanisms. The picture is complicated by the fact that Google has nice integration with third party OpenID providers but some of the biggest social networks are not OpenID providers (eg facebook, twitter). [Note that facebook can use OpenID as a relaying party, but not as a provider].

接下来的问题是:Appengine中的社会身份验证有哪些不同的选择?每种选择的利弊是什么?

The question is then the following: what are the different options for social authentication in Appengine and what are the pros and cons of each?

推荐答案

在对这个问题的研究中,我发现基本上有三个选择:

In my research on this question I found that there are essentially three options:

  1. 使用Google的身份验证机制(包括通过OpenID进行的联合登录)

  1. Use Google's authentication mechanisms (including their federated login via OpenID)

  • 优点:
    • 您可以通过Appengine随附的用户"服务轻松检查谁登录了
    • Google处理安全性,因此您可以确定它已经过良好的测试
    • Pros:
      • You can easily check who is logged in via the Users service provided with Appengine
      • Google handles the security so you can be quite sure it's well tested
      • 这只能与第三方OpenID提供程序集成;目前无法与Facebook/twitter集成

      使用已知框架(如tipfy或django)提供的社交身份验证机制

      Use the social authentication mechanisms provided by a known framework such as tipfy, or django

      • 优点:
        • 这些可以与所有主要的社会认证服务集成
        • 它们被广泛使用,因此它们可能很健壮并且经过了很好的测试
        • Pros:
          • These can integrate with all of the major social authentication services
          • They are quite widely used so they are likely to be quite robust and pretty well tested
          • 虽然它们可能已经过良好的测试,但可能无法维护
          • 它们确实是一个更大的框架的一部分,在部署应用程序之前,您可能需要先适应它们

          设置您自己的社交身份验证

          Roll your own social authentication

          • 优点:
            • 您可以混合使用各种形式的OpenID和OAuth来满足您的需求
            • Pros:
              • You can do mix up whatever flavours of OpenID and OAuth tickles your fancy
              • 您最有可能引入安全漏洞
              • 除非您有使用这些技术的经验,否则这可能是最耗时的

              更多说明:

              • 很可能每个人最终都会使用OpenID,然后标准的Google身份验证应该可以在任何地方使用
              • 第一个选项可让您在Google的身份验证出现问题时将矛头指向Google;第二种选择使您承担更多责任,但仍然可以让您说,如果有问题,则使用广泛使用的解决方案,最后一种选择将所有责任归于您
              • 大多数问题都与会话管理有关-在第一种情况下,Google进行了所有会话管理,对开发人员来说这几乎是看不见的.在第2种情况下,会话管理由框架处理,在第3种情况下,您必须设计自己的会话.

              这篇关于Appengine上的社交身份验证有哪些不同的选项-它们如何比较?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆