Appengine支持联合登录,在联合登录中,可以将任意OpenID提供者添加到可以对用户进行身份验证的参与方列表中。然而,有些组织——尤其是facebook——并不支持OpenID。如何将GAE提供的OpenID支持与支持OAuth或其他登录机制的机制结合起来呢?在
更多细节(假设是GAE Python)。。。在
我对OpenID机制的工作方式的理解如下:
create_login_url
机制app.yaml
我的问题是,我看不出这种方法如何与facebook的OAuth相匹配——如果资源是由Google控制的访问(perapp.yaml
),那么在哪里可以插入facebook身份验证?在
注意事项:
我对此做了一点挖掘,我的结论是,不可能将标准的Appengine身份验证机制(即那些与Appengine“免费”提供的机制)与facebook的OAuth集成。更具体地说,
app.yaml
登录控件只能与Google的标准机制相关,并且无法扩展它们来合并facebook OAuth。原因是Google的标准机制控制会话,并且没有机制来添加由app.yaml
登录控件识别的新会话控件。在当然,将Google帐户和其他登录机制与facebook在Appengine上的OAuth集成是可能的,但是要做到这一点,您需要复制Google在其标准身份验证机制(特别是会话管理)中提供的一些功能。在
我提出了一个更一般的问题来比较Appengine的不同社会身份验证选项,因为我认为它很有趣/有用,但在这个问题中有点超出范围:它是here
您可以看看Tipfy框架,它有一个Facebook身份验证extension,它允许用户使用他们的Facebook登录进行身份验证。在
相关问题 更多 >
编程相关推荐