我正在更改要由AWS Cognito处理的登录身份验证,由于该方法无法正常工作,因此需要对该方法进行一些澄清
auth.settings.login_methods = [cog_login]
该类中的一个功能称为authenticate(),它接受用户从标准的web2py格式user / login输入的用户名和密码参数
在默认情况下,在def user()控制器中,我具有以下内容:
cog_login()。authenticate(request.vars.email,request.vars.password)
这将查询AWS,如果通过则返回True,否则返回False。
我不清楚在def user()中如何处理True,False响应,因为它似乎不会填充始终保持为None的auth.user。
我试图强制auth.user填充以获得auth_user的内容,即auth.user = row [0]。确实会填充执行测试的auth.user auth.is_logged_in()结果为True。
但是,当继续通过def user()进行操作时,标准的onlogin重定向不会转发到主页,这表明web2py未将其记录为已接受身份验证。
这种方法正确吗,我似乎缺少将AWS成功登录到Web2py的步骤