예제 #1
0
파일: tests.py 프로젝트: fiam/oauthsp
    def testConcatenate(self):
        requests = (
            ("GET", "http://example.com", "n=v", "GET&http%3A%2F%2Fexample.com&n%3Dv"),
            (
                "POST",
                "https://photos.example.net/request_token",
                "oauth_version=1.0&oauth_consumer_key=dpf43f3p2l4k3l03&"
                "oauth_timestamp=1191242090&oauth_nonce=hsu94j3884jdopsl&"
                "oauth_signature_method=PLAINTEXT&oauth_signature=ignored",
                "POST&https%3A%2F%2Fphotos.example.net%2Frequest_token&oauth"
                "_consumer_key%3Ddpf43f3p2l4k3l03%26oauth_nonce%3Dhsu94j"
                "3884jdopsl%26oauth_signature_method%3DPLAINTEXT%26oauth"
                "_timestamp%3D1191242090%26oauth_version%3D1.0",
            ),
            (
                "GET",
                "http://photos.example.net/photos",
                "file=vacation.jpg&size=original&oauth_version=1.0&"
                "oauth_consumer_key=dpf43f3p2l4k3l03&oauth_token=nnch"
                "734d00sl2jdk&oauth_timestamp=1191242096&oauth_nonce="
                "kllo9940pd9333jh&oauth_signature=ignored&oauth_signa"
                "ture_method=HMAC-SHA1",
                "GET&http%3A%2F%2Fphotos.example.net%2Fphotos&file%3Dvacati"
                "on.jpg%26oauth_consumer_key%3Ddpf43f3p2l4k3l03%26oauth"
                "_nonce%3Dkllo9940pd9333jh%26oauth_signature_method%3DH"
                "MAC-SHA1%26oauth_timestamp%3D1191242096%26oauth_token%3D"
                "nnch734d00sl2jdk%26oauth_version%3D1.0%26size%3Doriginal",
            ),
        )

        for r in requests:
            req = OAuthRequest(MockRequest((r[0], r[2]), method=r[0], uri=r[1]))
            self.assertEqual(req.signature_base_string(), r[3])
예제 #2
0
파일: oauth.py 프로젝트: GunioRobot/wapi
    def login(self, request):
        oauth_request = OAuthRequest(request)
        if oauth_request.is_oauth():
            try:
                oauth_request.validate_access()
            except OAuthError, e:
                return e.get_response()

            request.oauth = oauth_request
            request.user = oauth_request.token.user
예제 #3
0
파일: tests.py 프로젝트: fiam/oauthsp
 def testNormalization(self):
     query_strings = (
         ("name", "name="),
         ("a=b", "a=b"),
         ("a=b&c=d", "a=b&c=d"),
         ("a=x!y&a=x+y", "a=x%20y&a=x%21y"),
         ("x!y=a&x=a", "x=a&x%21y=a"),
     )
     for qs in query_strings:
         req = OAuthRequest(MockRequest(("GET", qs[0])))
         self.assertEqual(req.normalized_params(), qs[1])
예제 #4
0
파일: views.py 프로젝트: fiam/oauthsp
def access_token(request):
    oauth_request = OAuthRequest(request)
    try:
        oauth_request.validate()

        if oauth_request.token is None:
            raise OAuthMissingParamError

        if oauth_request.token.is_access():
            oauth_request.validate_session()
            token = oauth_request.token.renew()
        else:
            token = oauth_request.token.exchange()
        return HttpResponse(token.to_string())
    except OAuthError, e:
        return e.get_response()