示例#1
0
文件: user.py 项目: shukla2112/alton
    def twofactor_logout(self, message):
        """twofactor logout: terminate an authenticated session"""
        user = User.get_from_message(self, message)
        if not user:
            return

        user.logout()
        user.save()
        self.direct_reply(message, "Your authenticated session has been terminated")
示例#2
0
文件: user.py 项目: shukla2112/alton
    def twofactor_status(self, message):
        """twofactor status: tells you if you are currently authenticated and when your session ends"""
        user = User.get_from_message(self, message)
        if not user:
            return

        if user.is_authenticated:
            self.direct_reply(message, "You are authenticated, your session expires {}".format(self.to_natural_day_and_time(user.session_expiration_time)))
        else:
            self.direct_reply(message, "You are not authenticated")
示例#3
0
文件: user.py 项目: shukla2112/alton
    def verify_user_twofactor(self, message, token):
        """twofactor verify [token]: start a new authenticated session by providing a verification token generated by the external device"""
        user = User.get_from_message(self, message)
        if not user:
            return

        if user.verify_token(token):
            self.direct_reply(message, "You are authenticated, your session expires {}".format(self.to_natural_day_and_time(user.session_expiration_time)))
        else:
            self.direct_reply(message, "Authentication failed, please try again")

        user.save()
示例#4
0
文件: user.py 项目: shukla2112/alton
    def confirm_user_permission(self, message, permissions): 
        """can I [permission]?: check if you have a specific permission"""
        self.reply(message, "working on that...")
        user = User.get_from_message(self, message)
        if not user:
            self.reply(message, "You have not set up two-factor authentication.  Say 'twofactor me' to set it up.")
            return

        for permission in permissions.split():
            if user.has_permission(permission):
                self.reply(message, "Yes, you can {}".format(permission))
            else:
                self.reply(message, "No, you can't {}".format(permission))