1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
class ClientMixin:
def get_default_redirect_uri(self):
"""A method to get client default redirect_uri. For instance, the
database table for client has a column called ``default_redirect_uri``::
def get_default_redirect_uri(self):
return self.default_redirect_uri
:return: A URL string
"""
raise NotImplementedError()
def get_client_secret(self):
"""A method to return the client_secret of this client. For instance,
the database table has a column called ``client_secret``::
def get_client_secret(self):
return self.client_secret
"""
raise NotImplementedError()
def get_rsa_public_key(self):
"""A method to get the RSA public key for RSA-SHA1 signature method.
For instance, the value is saved on column ``rsa_public_key``::
def get_rsa_public_key(self):
return self.rsa_public_key
"""
raise NotImplementedError()
class TokenCredentialMixin:
def get_oauth_token(self):
"""A method to get the value of ``oauth_token``. For instance, the
database table has a column called ``oauth_token``::
def get_oauth_token(self):
return self.oauth_token
:return: A string
"""
raise NotImplementedError()
def get_oauth_token_secret(self):
"""A method to get the value of ``oauth_token_secret``. For instance,
the database table has a column called ``oauth_token_secret``::
def get_oauth_token_secret(self):
return self.oauth_token_secret
:return: A string
"""
raise NotImplementedError()
class TemporaryCredentialMixin(TokenCredentialMixin):
def get_client_id(self):
"""A method to get the client_id associated with this credential.
For instance, the table in the database has a column ``client_id``::
def get_client_id(self):
return self.client_id
"""
raise NotImplementedError()
def get_redirect_uri(self):
"""A method to get temporary credential's ``oauth_callback``.
For instance, the database table for temporary credential has a
column called ``oauth_callback``::
def get_redirect_uri(self):
return self.oauth_callback
:return: A URL string
"""
raise NotImplementedError()
def check_verifier(self, verifier):
"""A method to check if the given verifier matches this temporary
credential. For instance that this temporary credential has recorded
the value in database as column ``oauth_verifier``::
def check_verifier(self, verifier):
return self.oauth_verifier == verifier
:return: Boolean
"""
raise NotImplementedError()
class TemporaryCredential(dict, TemporaryCredentialMixin):
def get_client_id(self):
return self.get("client_id")
def get_user_id(self):
return self.get("user_id")
def get_redirect_uri(self):
return self.get("oauth_callback")
def check_verifier(self, verifier):
return self.get("oauth_verifier") == verifier
def get_oauth_token(self):
return self.get("oauth_token")
def get_oauth_token_secret(self):
return self.get("oauth_token_secret")
|