def sign_data(self, data, expires_in=None, url_safe=True):
        """
        To safely sign a user data. It will be signed with the user key
        :param data: mixed
        :param expires_in: The time for it to expire
        :param url_safe: bool. If true it will allow it to be passed in URL
        :return: str -  the token/signed data
        """
        if url_safe:
            return utils.sign_url_safe(data,
                                       secret_key=self.secret_key,
                                       salt=self.user_salt,
                                       expires_in=expires_in)
        else:
            return utils.sign_data(data,
                                   secret_key=self.secret_key,
                                   salt=self.user_salt,
                                   expires_in=expires_in)