允许在web2py

时间:2016-11-18 14:41:17

标签: python oauth web2py

我正在使用web2py构建应用程序,我不知道如何同时启用多种身份验证方法。例如,我想同时使用Google和Facebook OAuth,并允许用户使用默认的web2py身份验证系统进行注册。 现在我已经实现了Google OAuth,它可以正常运行,但我无法添加其他方法。

我认为主要的问题是这行代码我定义了身份验证" system"对于web2py。我试过读这本书但却找不到有用的东西。

auth.settings.login_form=googleAccount()

1 个答案:

答案 0 :(得分:0)

要实现多个登录系统,在OAuth 2.0的情况下,您需要针对不同登录的不同网址:

示例:

  1. 对于Google使用/ app / user / login / google
  2. 对于Facebook用户/ app / user / login / facebook
  3. 示例代码:

    def user():
    from facebook_google_login import *
    if request.args(0) == 'login':
        if request.args(1) == 'facebook':
            facebook_login = FaceBookAccount(db=db)
            facebook_login.login_url(URL( 'AppName','default','user', args=['login','facebook']))
            auth.settings.login_form=facebook_login
        elif request.args(1) == 'google':
            google_login = GoogleAccount(globals())
            google_login.login_url(URL('AppName','default','user', args=['login','google']))
            auth.settings.login_form=google_login