当前位置: 首页>>代码示例>>Python>>正文


Python client.Client类代码示例

本文整理汇总了Python中sanction.client.Client的典型用法代码示例。如果您正苦于以下问题:Python Client类的具体用法?Python Client怎么用?Python Client使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Client类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: handle_stackexchange

 def handle_stackexchange(self, data):
     self.send_response(302)
     c = Client(auth_endpoint="https://stackexchange.com/oauth",
         client_id=config["stackexchange.client_id"],
         redirect_uri="http://localhost/login/stackexchange")
     self.send_header("Location", c.auth_uri())
     self.end_headers()
开发者ID:Raekkeri,项目名称:sanction,代码行数:7,代码来源:server.py

示例2: test_inst

    def test_inst(self):
        from urlparse import urlparse
        from urlparse import parse_qsl
        from sanction.client import Client

        c = get_config()
        client = Client(TestAdapterImpl, c)
        uri = client.flow.authorization_uri()
        o = urlparse(uri)
        qs = dict(parse_qsl(o.query))

        self.assertEquals(qs["scope"], c["testadapterimpl.scope"])
        self.assertEquals(qs["redirect_uri"],
            c["testadapterimpl.redirect_uri"])
        self.assertEquals(qs["response_type"], "code")
        self.assertEquals(qs["client_id"], c["testadapterimpl.client_id"])
        
        start_server()
        cred = client.flow.authorization_received({
            "code": "test"
        })
        self.assertTrue(isinstance(cred, BearerCredentials))

        start_server()
        r = client.request("/me")
开发者ID:nirleka,项目名称:py-sanction,代码行数:25,代码来源:test_client.py

示例3: handle_instagram

	def handle_instagram(self, data):
		self.send_response(302)
		c = Client(auth_endpoint="https://api.instagram.com/oauth/authorize/",
				client_id=config["instagram.client_id"],
				redirect_uri="http://localhost:8080/login/instagram")
		self.send_header("Location", c.auth_uri())
		self.end_headers()
开发者ID:AlecTaylor,项目名称:sanction,代码行数:7,代码来源:server.py

示例4: handle_foursquare_login

	def handle_foursquare_login(self, data):
		self.send_response(200)
		self.send_header("Content-type", "text/html")
		self.log_message(self.path)
		self.end_headers()

		c = Client(
			token_endpoint="https://foursquare.com/oauth2/access_token",
			resource_endpoint="https://api.foursquare.com/v2",
			redirect_uri="http://localhost:8080/login/foursquare",
			client_id=config["foursquare.client_id"],
			client_secret=config["foursquare.client_secret"],
			)
		c.access_token_key = "oauth_token"
		c.request_token(data=data)

		d = c.request("/users/24700343")

		self.wfile.write("Access token: %s<br>" % c.access_token)
		self.wfile.write("First name: %s<br>" % 
			d["response"]["user"]["firstName"])
		self.wfile.write("Last name: %s<br>" % 
			d["response"]["user"]["lastName"])
		self.wfile.write("Email: %s<br>" % 
			d["response"]["user"]["contact"]["email"])
开发者ID:AlecTaylor,项目名称:sanction,代码行数:25,代码来源:server.py

示例5: handle_bitly

	def handle_bitly(self, data):
		self.send_response(302)
		c = Client(auth_endpoint="https://bitly.com/oauth/authorize",
				client_id=config["bitly.client_id"],
				redirect_uri="http://localhost:8080/login/bitly")
		self.send_header("Location", c.auth_uri())
		self.end_headers()
开发者ID:AlecTaylor,项目名称:sanction,代码行数:7,代码来源:server.py

示例6: handle_foursquare

	def handle_foursquare(self, data):
		self.send_response(302)
		c = Client(auth_endpoint="https://foursquare.com/oauth2/authenticate",
				client_id=config["foursquare.client_id"],
				redirect_uri="http://localhost:8080/login/foursquare")
		self.send_header("Location", c.auth_uri())
		self.end_headers()
开发者ID:AlecTaylor,项目名称:sanction,代码行数:7,代码来源:server.py

示例7: handle_facebook_login

	def handle_facebook_login(self, data):
		self.send_response(200)
		self.send_header("Content-type", "text/html")
		self.log_message(self.path)
		self.end_headers()

		c = Client(
			token_endpoint="https://graph.facebook.com/oauth/access_token",
			resource_endpoint="https://graph.facebook.com",
			redirect_uri="http://localhost:8080/login/facebook",
			client_id=config["facebook.client_id"],
			client_secret=config["facebook.client_secret"])
		c.request_token(data=data, 
			parser = lambda data: dict(parse_qsl(data)))

		d = c.request("/me")

		self.wfile.write("Access token: %s<br>" % c.access_token)
		self.wfile.write("First name: %s<br>" % d["first_name"])
		self.wfile.write("Last name: %s<br>" % d["last_name"])
		self.wfile.write("Email: %s<br>" % d["email"])

		# to see a wall post in action, uncomment this
		try:
			d = c.request("/me/feed", data=urlencode({
				"message": "test post from py-sanction"
			}))
			self.wfile.write(
				"I posted a message to your wall (in sandbox mode, nobody else will see it)")
		except:
			self.wfile.write(
				"Unable to post to your wall")
开发者ID:AlecTaylor,项目名称:sanction,代码行数:32,代码来源:server.py

示例8: handle_foursquare_login

    def handle_foursquare_login(self, data):
        def token_transport(url, access_token, data=None, method=None):
            parts = urlsplit(url)
            query = dict(parse_qsl(parts.query))
            query.update({
                'oauth_token': access_token
            })
            url = urlunsplit((parts.scheme, parts.netloc, parts.path,
                urlencode(query), parts.fragment))
            try:
                req = Request(url, data=data, method=method)
            except TypeError:
                req = Request(url, data=data)
                req.get_method = lambda: method
            return req

        c = Client(
            token_endpoint='https://foursquare.com/oauth2/access_token',
            resource_endpoint='https://api.foursquare.com/v2',
            redirect_uri='http://localhost/login/foursquare',
            client_id=config['foursquare.client_id'],
            client_secret=config['foursquare.client_secret'],
            token_transport=token_transport
            )
        c.request_token(code=data['code'])

        self.dump_client(c)
        d = c.request('/users/24700343')
        self.dump_response(d)
开发者ID:brianru,项目名称:sanction,代码行数:29,代码来源:server.py

示例9: handle_foursquare

 def handle_foursquare(self, data):
     self.send_response(302)
     c = Client(auth_endpoint='https://foursquare.com/oauth2/authenticate',
             client_id=config['foursquare.client_id'],
             redirect_uri='http://localhost/login/foursquare')
     self.send_header('Location', c.auth_uri())
     self.end_headers()
开发者ID:kobeBigs,项目名称:sanction,代码行数:7,代码来源:server.py

示例10: authenticate

    def authenticate(self, code=None, provider_key=None):
        """ Django API function, authenticating a user

        Authentication method required of a Django authentication backend. If
        successful, this method will retrieve an access token from the
        provider.

        :note: A method ``fetch_user`` is expected as a static function on the
               custom user class. This is responsible for retrieiving the
               actual user instance required by the Django backend. It will
               receive the ``provider_key`` and an instance of a sanction
               client (which should contain the access token)

        :param code: The code returned by the OAuth 2.0 provider once the user
                     has given your application authorization.
        :param provider_key: The key for the provider sending authorization
                             data. This should match the keys used in your
                             settings file for ``SANCTION_PROVIDERS``.
        """
        model = get_user_model()
        provider = settings.SANCTION_PROVIDERS[provider_key]
        
        c = SanctionClient(token_endpoint=provider['token_endpoint'],
            resource_endpoint=provider['resource_endpoint'],
            auth_endpoint=provider['auth_endpoint'],
            client_id=provider['client_id'],
            client_secret=provider['client_secret'],
            redirect_uri=provider['redirect_uri'])

        c.request_token(code=code, parser=provider.get('parser', None))

        return model.fetch_user(provider_key, c)
开发者ID:johnjwatson,项目名称:django-sanction,代码行数:32,代码来源:backends.py

示例11: handle_stackexchange_login

    def handle_stackexchange_login(self, data):
        self.send_response(200)
        self.send_header("Content-type", "text/html")
        self.log_message(self.path)
        self.end_headers()

        c = Client(StackExchange, get_config())
        cred = c.flow.authorization_received(data)

        d = c.request("/me", body=urlencode({
            "site": "stackoverflow"
        }))

        self.wfile.write("<!DOCTYPE html>")
        self.wfile.write("<head><meta charset=\"utf-8\"/></head><body>")
        self.wfile.write("Access token: %s<br>" % cred.access_token)
        self.wfile.write("Type: %s<br>" % cred.token_type)
        self.wfile.write("Expires in: %d<br>" % cred.expires_in)

        # stackexchange gzips all data
        h = StringIO(d)
        gzip_data = GzipFile(fileobj=h)
        d = gzip_data.read()
        gzip_data.close()
        self.wfile.write(d)
        self.wfile.write("</body></html>")
开发者ID:nirleka,项目名称:py-sanction,代码行数:26,代码来源:server.py

示例12: handle_facebook_login

    def handle_facebook_login(self, data):
        c = Client(
            token_endpoint='https://graph.facebook.com/oauth/access_token',
            resource_endpoint='https://graph.facebook.com',
            redirect_uri='http://localhost/login/facebook',
            client_id=config['facebook.client_id'],
            client_secret=config['facebook.client_secret'])

        c.request_token(code=data['code'],
            parser=lambda data: dict(parse_qsl(data)))

        self.dump_client(c)
        d = c.request('/me')
        self.dump_response(d)

        try:
            d = c.request('/me/feed', data=urlencode({
                'message': 'test post from py-sanction'
            }))
            self.wfile.write(
                'I posted a message to your wall (in sandbox mode, nobody '
                'else will see it)'.encode(ENCODING_UTF8))
        except:
            self.wfile.write(
                'Unable to post to your wall')
开发者ID:kobeBigs,项目名称:sanction,代码行数:25,代码来源:server.py

示例13: process_request

    def process_request(self, request):
        if not request.user.is_anonymous():
            try:
                provider = filter(lambda p: p["name"] == request.user.provider_key,
                    (settings.OAUTH2_PROVIDERS[k] for k in
                        settings.OAUTH2_PROVIDERS))[-1]

                c = Client(token_endpoint=provider["token_endpoint"],
                    resource_endpoint=provider["resource_endpoint"],
                    auth_endpoint=provider["auth_endpoint"],
                    redirect_uri=provider.get("redirect_uri", None),
                    client_id=provider["client_id"],
                    client_secret=provider["client_secret"])
                
                c.access_token = request.user.access_token
                c.expires = request.user.expires

                setattr(request.user, "resource", c)

            # play nice with other authentication backends
            except IndexError:
                raise KeyError("Provider %s doesn't exist" % 
                    request.user.provider_key)
            except AttributeError: 
                # current user isn't a django_sanction user
                pass
开发者ID:mramu111,项目名称:django-sanction,代码行数:26,代码来源:middleware.py

示例14: handle_instagram

 def handle_instagram(self, data):
     self.send_response(302)
     c = Client(auth_endpoint='https://api.instagram.com/oauth/authorize/',
             client_id=config['instagram.client_id'],
             redirect_uri='http://localhost/login/instagram')
     self.send_header('Location', c.auth_uri())
     self.end_headers()
开发者ID:kobeBigs,项目名称:sanction,代码行数:7,代码来源:server.py

示例15: handle_github

 def handle_github(self, data):
     self.send_response(302)
     c = Client(auth_endpoint="https://github.com/login/oauth/authorize",
             client_id=config["github.client_id"],
             redirect_uri="http://localhost/login/github")
     self.send_header("Location", c.auth_uri())
     self.end_headers()
开发者ID:Raekkeri,项目名称:sanction,代码行数:7,代码来源:server.py


注:本文中的sanction.client.Client类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。