Hi, Any ideas what parameters should I pass to *auth.settings.login_form()*?
Em quarta-feira, 11 de dezembro de 2019 08:54:10 UTC-3, Daniel Guilhermino escreveu: > > You're right! > > But I've tried with 'ident' arg too... and return None. > > I believe I am not passing all the correct arguments to: > > *auth.settings.login_form()* > > Thanks Dave! > > Em quarta-feira, 11 de dezembro de 2019 04:41:14 UTC-3, Dave S escreveu: >> >> >> >> On Tuesday, December 10, 2019 at 9:50:47 PM UTC-8, Daniel Guilhermino >> wrote: >>> >>> Hi, >>> >>> I have been trying to use Google Sign-in on web2py through the book >>> example, but Google allows us to receive user information on the same login >>> page after the user has entered the login data. >>> >>> >>> http://web2py.com/books/default/chapter/29/09/access-control?search=oauth#Customizing-Auth >>> >>> I'm following this flow: >>> >>> web2py login page -> google login page -> web2py login page (receiving >>> user data) -> check and login page -> authorizes access. >>> >>> With google's js feature: >>> >>> function onSignIn (googleUser) { >>> var profile = googleUser.getBasicProfile (); >>> } >>> >>> I can get the data: >>> >>> profile.getGivenName () >>> profile.getFamilyName () >>> profile.getEmail () >>> >>> and was redirecting the page to check and authorize access: >>> >>> var page = 'https://myurl.com/oauth2callback?first_name=' + >>> profile.getGivenName () + '& last_name =' + profile.getFamilyName () + '& >>> email =' + profile.getEmail (); >>> window.location.href = page; >>> >>> In the oauth2callback controller: >>> >>> Already tried: >>> >>> registration_id = request.vars ['ident'] >>> email = request.vars ['email'] >>> first_name = request.vars ['first_name'] >>> last_name = request.vars ['last_name'] >>> >>> class GoogleOAuth (OAuthAccount): >>> def get_user (self): >>> return dict (first_name = first_name, last_name = last_name, >>> email = email) >>> >>> auth.settings.login_form = GoogleOAuth () >>> >>> Already tried: >>> >>> auth.settings.login_form = lambda profile: dict (registration_id = >>> request.vars ['ident'], >>> email = request.vars ['email'], >>> first_name = request.vars ['first_name'], >>> last_name = request.vars ['last_name']) >>> >>> And always the result is None. >>> >>> Has anyone been able to implement or knows about it? >>> >>> Thanks in advance! >>> >>> Best regards, >>> >>> >> Daniel >>> >> >> Perhaps I'm being a little slow, but I don't see "ident" in your URL >> ('var page = ....'), but you try to pull it out of request.vars[] in your >> callback. >> >> Am I missing something? >> >> /dps >> >> > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/web2py/aa2dfa12-ff10-4fc2-980b-216584601d34%40googlegroups.com.

