Example #1
0
    def save_token(self,
                   user: User,
                   token: str,
                   payload: Payload,
                   token_type: Optional[str] = None) -> None:

        ip_address = self.get_remote_ip()
        ip_loc = self.localize_ip(ip_address)

        if token_type is None:
            token_type = self.FULL_TOKEN

        now = datetime.now(pytz.utc)
        exp = payload.get("exp",
                          now + timedelta(seconds=self.DEFAULT_TOKEN_TTL))

        token_node = self.db.Token()
        token_node.jti = payload["jti"]
        token_node.token = token
        token_node.token_type = token_type
        token_node.creation = now
        token_node.last_access = now
        token_node.expiration = exp
        token_node.IP = ip_address
        token_node.location = ip_loc or "Unknown"

        token_node.save()
        # Save user updated in profile endpoint
        user.save()
        token_node.emitted_for.connect(user)
Example #2
0
    def save_token(self,
                   user: User,
                   token: str,
                   payload: Payload,
                   token_type: Optional[str] = None) -> None:

        ip_address = self.get_remote_ip()
        ip_loc = self.localize_ip(ip_address)

        if token_type is None:
            token_type = self.FULL_TOKEN

        now = datetime.now()
        exp = payload.get("exp",
                          now + timedelta(seconds=self.DEFAULT_TOKEN_TTL))

        self.db.Token(
            jti=payload["jti"],
            token=token,
            token_type=token_type,
            creation=now,
            last_access=now,
            expiration=exp,
            IP=ip_address,
            location=ip_loc or "Unknown",
            user_id=user,
        ).save()

        # Save user updated in profile endpoint
        user.save()
Example #3
0
    def add_user_to_group(self, user: User, group: Group) -> None:

        if user and group:
            user.belongs_to = group

            self.db.session.add(user)
            self.db.session.commit()
Example #4
0
    def link_roles(self, user: User, roles: List[str]) -> None:

        if not roles:
            roles = [BaseAuthentication.default_role]

        # link roles into users
        user.roles = []
        for role in roles:
            sqlrole = self.db.Role.query.filter_by(name=role).first()
            user.roles.append(sqlrole)
Example #5
0
    def link_roles(self, user: User, roles: List[str]) -> None:

        if not roles:
            roles = [BaseAuthentication.default_role]

        roles_obj = []
        for role_name in roles:
            role_obj = self.db.Role.objects.get({"name": role_name})
            roles_obj.append(role_obj)
        user.roles = roles_obj
Example #6
0
    def delete_user(self, user: User) -> bool:
        if not user:
            return False

        user.delete()
        return True
Example #7
0
    def save_user(self, user: User) -> bool:
        if not user:
            return False

        user.save()
        return True
Example #8
0
    def add_user_to_group(self, user: User, group: Group) -> None:

        if user and group:
            user.belongs_to = group
            user.save()