summaryrefslogtreecommitdiffstats
path: root/ipaserver/plugins/session.py
blob: e1d7446899da600374685d90d68607115feb6e0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#
# Copyright (C) 2015  FreeIPA Contributors see COPYING for license
#

import logging

from ipalib import Command
from ipalib.request import context
from ipalib.plugable import Registry
from ipalib.text import _

__doc__ = _("""
Session Support for IPA
""")

logger = logging.getLogger(__name__)

register = Registry()


@register()
class session_logout(Command):
    __doc__ = _('RPC command used to log the current user out of their'
                ' session.')
    NO_CLI = True

    def execute(self, *args, **options):
        ccache_name = getattr(context, 'ccache_name', None)
        if ccache_name is None:
            logger.debug('session logout command: no ccache_name found')
        else:
            delattr(context, 'ccache_name')

        setattr(context, 'logout_cookie', 'MagBearerToken=')

        return dict(result=None)