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)
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/')