예제 #1
0
        def _wrapper(request, *args, **kwargs):

            # user is logged in
            if request.user.is_authenticated:
                return _view(request, *args, **kwargs)

            # multi user mode, log user in using oauth
            else:
                flow = CredentialsFlowWrapper(settings.UI_CLIENT,
                                              redirect_uri=settings.CONST_URL +
                                              '/oauth_callback/')
                auth_url, _ = flow.authorization_url(
                    prompt='',
                    access_type='offline',
                    include_granted_scopes='true')
                request.session['code_verifier'] = flow.code_verifier
                return HttpResponseRedirect(auth_url)
예제 #2
0
        def _wrapper(request, *args, **kwargs):

            # user is logged in
            if request.user.is_authenticated:
                return _view(request, *args, **kwargs)

            # multi user mode, log user in using oauth
            elif settings.UI_CLIENT:
                flow = CredentialsFlowWrapper(settings.UI_CLIENT,
                                              redirect_uri=settings.CONST_URL +
                                              '/oauth_callback/')
                auth_url, _ = flow.authorization_url(
                    prompt='consent',
                    #approval_prompt='auto',
                    access_type='offline',
                    include_granted_scopes='true')
                request.session['code_verifier'] = flow.code_verifier
                return HttpResponseRedirect(auth_url)

            # single user mode, no oath, use native django user management ( intead of gsuite )
            else:
                return HttpResponseRedirect('/login/')