Source code for sirepo.auth.guest

# -*- coding: utf-8 -*-
"""Guest login

:copyright: Copyright (c) 2019 RadiaSoft LLC.  All Rights Reserved.
:license: http://www.apache.org/licenses/LICENSE-2.0.html
"""
from pykern import pkinspect
from pykern.pkdebug import pkdc, pkdexc, pkdlog, pkdp
import sirepo.auth
import sirepo.quest


AUTH_METHOD = sirepo.auth.METHOD_GUEST

#: User can see it
AUTH_METHOD_VISIBLE = True

#: module handle
this_module = pkinspect.this_module()


[docs] class API(sirepo.quest.API): @sirepo.quest.Spec("require_cookie_sentinel") async def api_authGuestLogin(self, simulation_type): """You have to be an anonymous or logged in user at this point""" req = self.parse_params(type=simulation_type) # if already logged in as guest, just redirect if self.auth.user_if_logged_in(AUTH_METHOD): self.auth.login_success_response(req.type) self.auth.login(this_module, sim_type=req.type) raise AssertionError("auth.login returned unexpectedly")