Beispiel #1
0
    def __init__(self, adapter):
        assert(isinstance(adapter, AuthorizationEndpointMixIn))
        assert(isinstance(adapter, ResourceEndpointMixIn))

        ResourceFlow.__init__(self, "authorization_code", adapter)

        self.__client_id = safe_get("client_id", adapter.config, 
            required=True)
        self.__client_secret = safe_get("client_secret", adapter.config,
            required=True)
        self.__redirect_uri = safe_get("redirect_uri", adapter.config)
        self.__scope = safe_get("scope", adapter.config)
Beispiel #2
0
    def test_safe_get(self):
        from sanction.util import safe_get

        settings = {"foo": "bar"}

        self.assertEquals(safe_get("foo", settings), "bar")
        self.assertEquals(safe_get("bar", settings, required=False), None)
        self.assertEquals(safe_get("bar", settings, required=False,
            default="foo"), "foo")
        try:
            safe_get("bar", settings, required=True)
            self.fail()

        except KeyError: pass
Beispiel #3
0
    def authorization_uri(self, state=None):
        """ Google's authorization URI

        Google differs from the :term:`OAuth2` spec by appending the
        ``access_type`` request value through a URI query param.
        """
        uri = AuthorizationRequestFlow.authorization_uri(self, state)
        access_type = safe_get("access_type", self.adapter.config,
            required=True)
        return "%s&access_type=%s" % (uri, access_type)
Beispiel #4
0
 def __init__(self, response):
     self.__description = safe_get("description", response)
     self.__error_uri = safe_get("error_uri", response)
     self.__state = safe_get("state", response)