def _extract_user(cls, r): r.user = None dict_ = cls.validate_token(r) user_id = dict_.get('user_id') if not user_id: raise AuthError.TOKEN_MISS_PARAM('user_id') session_key = dict_.get("session_key") if not session_key: raise AuthError.TOKEN_MISS_PARAM('session_key') type_ = dict_.get('type') if type_ != AuthType.LOGIN: raise AuthError.TOKEN_MISS_PARAM('type') if DEV_MODE: r.session_key = session_key else: r.session_key = Crypto.AES.decrypt(session_key) r.user = User.get(user_id)
def get(r): if r.d.secret_key == SECRET_KEY: user = User.get(r.d.user_id) return Auth.get_login_token(user, session_key='null') return ''
def get_by_union(cls, space_user_union: str): space_name, user_id = space_user_union.rsplit('-', 1) space = Space.get(space_name) user = User.get(user_id) return space.get_member(user)