コード例 #1
0
ファイル: provider.py プロジェクト: epiphone/pucktracker
    def authorize(self):
        if request.method == u"POST":
            token = request.form.get("oauth_token")
            return self.authorized(token)
        else:
            token = request.args.get(u"oauth_token", None)
            if token is None:
                return "oauth_token required", 400

            req_token = RequestToken.query(
                RequestToken.token == token).get()
            if req_token is None:
                # Joskus App Enginen datastore ei pysy OAuth-prosessin
                # tahdissa mukana:
                time.sleep(2)
                req_token = RequestToken.query(
                    RequestToken.token == token).get()
                if req_token is None:
                    return "request token not found", 503
            client = req_token.client.get()

            return render_template(
                u"authorize.html",
                token=token,
                req_token=req_token,
                client=client)
コード例 #2
0
ファイル: provider.py プロジェクト: jasalt/pucktracker
    def validate_request_token(self, client_key, resource_owner_key):
        token = None
        if client_key:
            client = Client.query(Client.client_key == client_key).get()

            if client:
                token = RequestToken.query(
                    RequestToken.token == resource_owner_key,
                    RequestToken.client == client.key).get()
        else:
            token = RequestToken.query(
                RequestToken.token == resource_owner_key).get()

        return token is not None
コード例 #3
0
ファイル: provider.py プロジェクト: epiphone/pucktracker
    def validate_request_token(self, client_key, resource_owner_key):
        token = None
        if client_key:
            client = Client.query(Client.client_key == client_key).get()

            if client:
                token = RequestToken.query(
                    RequestToken.token == resource_owner_key,
                    RequestToken.client == client.key).get()
        else:
            token = RequestToken.query(
                RequestToken.token == resource_owner_key).get()

        return token is not None
コード例 #4
0
ファイル: provider.py プロジェクト: epiphone/pucktracker
    def get_callback(self, request_token):
        token = RequestToken.query(RequestToken.token == request_token).get()

        if token:
            return token.callback
        else:
            return None
コード例 #5
0
ファイル: provider.py プロジェクト: jasalt/pucktracker
    def get_callback(self, request_token):
        token = RequestToken.query(RequestToken.token == request_token).get()

        if token:
            return token.callback
        else:
            return None
コード例 #6
0
ファイル: provider.py プロジェクト: jasalt/pucktracker
    def validate_verifier(self, client_key, resource_owner_key, verifier):
        token = None
        client = Client.query(Client.client_key == client_key).get()

        if client:
            token = RequestToken.query(
                RequestToken.client == client.key,
                RequestToken.token == resource_owner_key,
                RequestToken.verifier == verifier).get()

        return token is not None
コード例 #7
0
ファイル: provider.py プロジェクト: epiphone/pucktracker
    def validate_verifier(self, client_key, resource_owner_key, verifier):
        token = None
        client = Client.query(Client.client_key == client_key).get()

        if client:
            token = RequestToken.query(
                RequestToken.client == client.key,
                RequestToken.token == resource_owner_key,
                RequestToken.verifier == verifier).get()

        return token is not None
コード例 #8
0
ファイル: provider.py プロジェクト: jasalt/pucktracker
    def get_request_token_secret(self, client_key, resource_owner_key):
        client = Client.query(Client.client_key == client_key).get()

        if client:
            token = RequestToken.query(
                RequestToken.client == client.key,
                RequestToken.token == resource_owner_key).get()

            if token:
                return token.secret

        return None
コード例 #9
0
ファイル: provider.py プロジェクト: jasalt/pucktracker
    def get_realm(self, client_key, request_token):
        client = Client.query(Client.client_key == client_key).get()

        if client:
            token = RequestToken.query(
                RequestToken.token == request_token,
                RequestToken.client == client.key).get()

            if token:
                return token.realm

        return None
コード例 #10
0
ファイル: provider.py プロジェクト: epiphone/pucktracker
    def get_request_token_secret(self, client_key, resource_owner_key):
        client = Client.query(Client.client_key == client_key).get()

        if client:
            token = RequestToken.query(
                RequestToken.client == client.key,
                RequestToken.token == resource_owner_key).get()

            if token:
                return token.secret

        return None
コード例 #11
0
ファイル: provider.py プロジェクト: epiphone/pucktracker
    def get_realm(self, client_key, request_token):
        client = Client.query(Client.client_key == client_key).get()

        if client:
            token = RequestToken.query(
                RequestToken.token == request_token,
                RequestToken.client == client.key).get()

            if token:
                return token.realm

        return None
コード例 #12
0
ファイル: provider.py プロジェクト: epiphone/pucktracker
    def save_access_token(self, client_key, access_token, request_token,
            secret=None):
        client = Client.query(Client.client_key == client_key).get()
        req_token = RequestToken.query(
            RequestToken.token == request_token).get()

        if client and req_token:
            token = AccessToken(
                token=access_token,
                secret=secret,
                client=client.key,
                resource_owner=req_token.resource_owner,
                realm=req_token.realm)
            token.put()
コード例 #13
0
ファイル: provider.py プロジェクト: jasalt/pucktracker
    def authorize(self):
        if request.method == u"POST":
            token = request.form.get("oauth_token")
            return self.authorized(token)
        else:
            token = request.args.get(u"oauth_token", None)
            if token is None:
                return "oauth_token required", 400

            req_token = RequestToken.query(RequestToken.token == token).get()
            if req_token is None:
                # Joskus App Enginen datastore ei pysy OAuth-prosessin
                # tahdissa mukana:
                time.sleep(2)
                req_token = RequestToken.query(
                    RequestToken.token == token).get()
                if req_token is None:
                    return "request token not found", 503
            client = req_token.client.get()

            return render_template(u"authorize.html",
                                   token=token,
                                   req_token=req_token,
                                   client=client)
コード例 #14
0
ファイル: provider.py プロジェクト: jasalt/pucktracker
    def save_access_token(self,
                          client_key,
                          access_token,
                          request_token,
                          secret=None):
        client = Client.query(Client.client_key == client_key).get()
        req_token = RequestToken.query(
            RequestToken.token == request_token).get()

        if client and req_token:
            token = AccessToken(token=access_token,
                                secret=secret,
                                client=client.key,
                                resource_owner=req_token.resource_owner,
                                realm=req_token.realm)
            token.put()
コード例 #15
0
ファイル: provider.py プロジェクト: epiphone/pucktracker
    def save_timestamp_and_nonce(self, client_key, timestamp, nonce,
            request_token=None, access_token=None):
        client = Client.query(Client.client_key == client_key).get()

        if client:
            nonce = Nonce(
                nonce=nonce,
                timestamp=timestamp,
                client=client.key)

            if request_token:
                req_token = RequestToken.query(
                    RequestToken.token == request_token).get()
                nonce.request_token = req_token.key

            if access_token:
                token = AccessToken.query(
                    AccessToken.token == access_token).get()
                nonce.access_token = token.key

            nonce.put()
コード例 #16
0
ファイル: provider.py プロジェクト: jasalt/pucktracker
    def save_timestamp_and_nonce(self,
                                 client_key,
                                 timestamp,
                                 nonce,
                                 request_token=None,
                                 access_token=None):
        client = Client.query(Client.client_key == client_key).get()

        if client:
            nonce = Nonce(nonce=nonce, timestamp=timestamp, client=client.key)

            if request_token:
                req_token = RequestToken.query(
                    RequestToken.token == request_token).get()
                nonce.request_token = req_token.key

            if access_token:
                token = AccessToken.query(
                    AccessToken.token == access_token).get()
                nonce.access_token = token.key

            nonce.put()
コード例 #17
0
ファイル: provider.py プロジェクト: jasalt/pucktracker
 def save_verifier(self, request_token, verifier):
     token = RequestToken.query(RequestToken.token == request_token).get()
     token.verifier = verifier
     token.resource_owner = g.user.key
     token.put()
コード例 #18
0
ファイル: provider.py プロジェクト: epiphone/pucktracker
 def save_verifier(self, request_token, verifier):
     token = RequestToken.query(
         RequestToken.token == request_token).get()
     token.verifier = verifier
     token.resource_owner = g.user.key
     token.put()