Exemple #1
0
class TokenQuery(object):
    def __init__(self, router):
        self._token = Token(router)

    def get(self, key):
        return self._token.get(key, first=True)

    def put(self, key, value):
        return self._token.put(key, value)

    def delete(self, key):
        return self._token.delete(key)
Exemple #2
0
def create_token(login, login_type):
    if login_type == "jid":
        login = resolve_alias(login)

    tmp = tempfile.mktemp(suffix="", prefix="", dir="")
    token = Token(token=tmp, login=login, login_type=login_type, active=1)
    token.put(force_insert=True)

    base_url = get_setting("web_api_root", "http://localhost:8080").rstrip("/")
    url = "%s/api/auth?token=%s" % (base_url, tmp)
    message = "A third-party application is requesting access to your account. If that was you, follow this link:\n%s\n" % url

    if login_type == "jid":
        msg = Message(re=login, message=message)
        msg.put()
    else:
        run(["mail", "-s", "Your token", login], stdin_data=message)

    commit()

    return url