def associate_steam(request): """Associate a Steam account with a Lutris account""" LOGGER.info("Associating Steam user with Lutris account") if not request.user.is_authenticated: return login_complete(request) account_url = reverse('user_account', args=(request.user.username, )) try: openid_response = parse_openid_response(request) except HTTPFetchingError: messages.warning( request, "Steam server is unreachable, please try again in a few moments") return redirect(account_url) if openid_response.status == 'failure': messages.warning(request, "Failed to associate Steam account") LOGGER.warning("Failed to associate Steam account for %s", request.user.username) return redirect(account_url) openid_backend = OpenIDBackend() try: openid_backend.associate_openid(request.user, openid_response) except IdentityAlreadyClaimed: messages.warning( request, "This Steam account is already claimed by another Lutris " "account.\nPlease contact an administrator if you want " "to reattribute your Steam account to this current account.") return redirect(account_url) request.user.set_steamid() request.user.save() return redirect(reverse("library_steam_sync"))
def login_openid_complete(request): setattr(settings, 'OPENID_CREATE_USERS', False) r = openid_views.login_complete( request, render_failure=render_openid_login_failure) if isinstance(r, http.HttpResponseRedirect): try: user = request.user.get_profile() except UserProfile.DoesNotExist: user = request.user username = '' if user.username[:10] != 'openiduser': username = user.username form = forms.CreateProfileForm(initial={ 'full_name': ' '.join((user.first_name, user.last_name)), 'email': user.email, 'username': username, }) return render_to_response('dashboard/setup_profile.html', { 'form': form, }, context_instance=RequestContext(request)) redirect_url = _get_redirect_url(request) if redirect_url: return http.HttpResponseRedirect(redirect_url) return r
def associate_steam(request): """Associate a Steam account with a Lutris account""" LOGGER.info("Associating Steam user with Lutris account") if not request.user.is_authenticated: LOGGER.info("User is authenticated, completing login") return login_complete(request) else: openid_response = parse_openid_response(request) account_url = reverse('user_account', args=(request.user.username, )) if openid_response.status == 'failure': messages.warning(request, "Failed to associate Steam account") REQUEST_LOGGER.error("Failed to associate Steam account for %s", request.user.username, extra={ 'status_code': 400, 'request': request }) return redirect(account_url) openid_backend = OpenIDBackend() try: openid_backend.associate_openid(request.user, openid_response) except IdentityAlreadyClaimed: messages.warning( request, "This Steam account is already claimed by another Lutris " "account.\nPlease contact an administrator if you want " "to reattribute your Steam account to this current account.") return redirect(account_url) request.user.set_steamid() request.user.save() return redirect(reverse("library_steam_sync"))
def login_openid_complete(request): setattr(settings, "OPENID_CREATE_USERS", False) r = openid_views.login_complete(request, render_failure=render_openid_login_failure) if isinstance(r, http.HttpResponseRedirect): try: user = request.user.get_profile() except UserProfile.DoesNotExist: user = request.user username = "" if user.username[:10] != "openiduser": username = user.username form = forms.CreateProfileForm( initial={ "full_name": " ".join((user.first_name, user.last_name)), "email": user.email, "username": username, } ) return render_to_response( "dashboard/setup_profile.html", {"form": form}, context_instance=RequestContext(request) ) if user.confirmation_code: logout(request) unconfirmed_account_notice(request, user) return render_to_response( "users/login_openid.html", {"form": forms.OpenIDForm()}, context_instance=RequestContext(request) ) redirect_url = _get_redirect_url(request) if redirect_url: return http.HttpResponseRedirect(redirect_url) return r
def associate_steam(request): """Associate a Steam account with a Lutris account""" LOGGER.info("Associating Steam user with Lutris account") if not request.user.is_authenticated: LOGGER.info("User is authenticated, completing login") return login_complete(request) else: openid_response = parse_openid_response(request) account_url = reverse('user_account', args=(request.user.username, )) if openid_response.status == 'failure': messages.warning(request, "Failed to associate Steam account") REQUEST_LOGGER.error("Failed to associate Steam account for %s", request.user.username, extra={ 'status_code': 400, 'request': request }) return redirect(account_url) openid_backend = OpenIDBackend() try: openid_backend.associate_openid(request.user, openid_response) except IdentityAlreadyClaimed: messages.warning( request, "This Steam account is already claimed by another Lutris " "account.\nPlease contact an administrator if you want " "to reattribute your Steam account to this current account." ) return redirect(account_url) request.user.set_steamid() request.user.save() return redirect(reverse("library_steam_sync"))
def associate_steam(request): if not request.user.is_authenticated(): return login_complete(request) else: openid_response = parse_openid_response(request) if openid_response.status == "failure": messages.error(request, "Failed to associate Steam account") return redirect(reverse("user_account", args=(request.user.username,))) openid_backend = OpenIDBackend() openid_backend.associate_openid(request.user, openid_response) request.user.set_steamid() request.user.save() return redirect(reverse("library_steam_sync"))
def login_openid_complete(request): setattr(settings, 'OPENID_CREATE_USERS', False) r = openid_views.login_complete( request, render_failure=render_openid_login_failure) if isinstance(r, http.HttpResponseRedirect): user = request.user.get_profile() if user.confirmation_code: logout(request) unconfirmed_account_notice(request, user) return render_to_response('users/login_openid.html', { 'form': forms.OpenIDForm(), }, context_instance=RequestContext(request)) redirect_url = _get_redirect_url(request) if redirect_url: return http.HttpResponseRedirect(redirect_url) return r
def login_openid_complete(request): setattr(settings, 'OPENID_CREATE_USERS', False) r = openid_views.login_complete(request, render_failure=render_openid_login_failure) if isinstance(r, http.HttpResponseRedirect): user = request.user.get_profile() if user.confirmation_code: logout(request) unconfirmed_account_notice(request, user) return render_to_response('users/login_openid.html', { 'form': forms.OpenIDForm(), }, context_instance=RequestContext(request)) redirect_url = _get_redirect_url(request) if redirect_url: return http.HttpResponseRedirect(redirect_url) return r
def custom_login_complete(request, **kwargs): """ Method invoked after successful OpenID login. Overridden to create user profile after first successful OpenID login. """ # authenticate user response = login_complete(request, **kwargs) # create a stub profile with blank mandatory fields if not request.user.is_anonymous(): openid = request.GET.get('openid.claimed_id', None) try: request.user.profile except ObjectDoesNotExist: print 'Discovering site for user with openid=%s' % openid # retrieve user home node site = discoverSiteForUser(openid) if site is None: # set user home node to current node site = Site.objects.get_current() print 'User site=%s... creating user profile...' % site # create new ESGF/OpenID login, type=2: ESGF UserProfile.objects.create(user=request.user, institution='', city='', country='', type=2, site=site) # create user datacart DataCart.objects.create(user=request.user) # set openid cookie set_openid_cookie(response, openid) # check if user is valid return _custom_login(request, response)
def associate_steam(request): if not request.user.is_authenticated(): return login_complete(request) else: openid_response = parse_openid_response(request) account_url = reverse('user_account', args=(request.user.username, )) if openid_response.status == 'failure': messages.warning(request, "Failed to associate Steam account") return redirect(account_url) openid_backend = OpenIDBackend() try: openid_backend.associate_openid(request.user, openid_response) except IdentityAlreadyClaimed: messages.warning( request, "This Steam account is already claimed by another Lutris " "account.\nPlease contact an administrator if you want " "to reattribute your Steam account to this current account.") return redirect(account_url) request.user.set_steamid() request.user.save() return redirect(reverse("library_steam_sync"))
def associate_steam(request): if not request.user.is_authenticated(): return login_complete(request) else: openid_response = parse_openid_response(request) account_url = reverse('user_account', args=(request.user.username, )) if openid_response.status == 'failure': messages.warning(request, "Failed to associate Steam account") return redirect(account_url) openid_backend = OpenIDBackend() try: openid_backend.associate_openid(request.user, openid_response) except IdentityAlreadyClaimed: messages.warning( request, "This Steam account is already claimed by another Lutris " "account.\nPlease contact an administrator if you want " "to reattribute your Steam account to this current account." ) return redirect(account_url) request.user.set_steamid() request.user.save() return redirect(reverse("library_steam_sync"))
def register_openid_complete(request): setattr(settings, 'OPENID_CREATE_USERS', True) return openid_views.login_complete( request, render_failure=render_openid_registration_failure)
def openid_complete(request): if not openid_views: raise Http404 return openid_views.login_complete(request, render_failure=openid_failure)
def login_openid_complete(request): setattr(settings, 'OPENID_CREATE_USERS', False) return openid_views.login_complete( request, render_failure=render_openid_login_failure)