Exemplo n.º 1
0
    def mutate(_root, info: ResolveInfo, username: str, password: str):
        request = get_request(info)
        gmp = get_gmp(info)
        try:
            response = gmp.authenticate(username, password)
            request.session['username'] = username
            request.session['password'] = password

            timezone = get_text_from_element(response, 'timezone')

            # get the timeout from now
            timeout = request.session.get_expiry_date()
            # actually store the timeout in the session
            request.session.set_expiry(timeout)

            setting_response = gmp.get_setting(USER_SETTING_LOCALE)
            setting_element = get_subelement(setting_response, 'setting')
            setting = get_text_from_element(setting_element, 'value')

            return LoginMutation(
                ok=True,
                timezone=timezone,
                session_timeout=timeout,
                locale=setting,
            )
        except GvmResponseError as e:
            raise AuthenticationFailed(e.message) from None
Exemplo n.º 2
0
    def resolve_is_authenticated(_root, info: ResolveInfo):
        request = get_request(info)
        username = request.session.get('username')

        if username is not None:
            timeout = request.session.get_expiry_age()
            return timeout > 0
        return False
Exemplo n.º 3
0
 def mutate(_root, info: ResolveInfo):
     request = get_request(info)
     modification = django_timezone.now()
     expiry = request.session.get_session_cookie_age()
     session_timeout = modification + timedelta(seconds=expiry)
     request.session.set_expiry(session_timeout)
     # return True for current_user to activate resolvers of CurrentUser
     return RenewSessionMutation(current_user=True)
Exemplo n.º 4
0
 def resolve_username(_root, info: ResolveInfo):
     request = get_request(info)
     return request.session.get('username')
Exemplo n.º 5
0
    def resolve_session_timeout(_root, info: ResolveInfo):
        request = get_request(info)
        username = request.session.get('username')

        if username is not None:
            return request.session.get_expiry_date()
Exemplo n.º 6
0
 def mutate(_root, info: ResolveInfo):
     request = get_request(info)
     request.session.flush()
     return LogoutMutation(ok=True)