## Interfaces: **OAuthConsumer** is a data type that represents the identity of the Consumer via its shared secret with the Service Provider. OAuthConsumer - `key : str` - `secret : str` **OAuthToken** is a data type that represents an End User via either an access or request token OAuthToken - `token : str` - `secret : str` - `to_string() -> str` - `(static) from_string() -> OAuthToken` **OAuthSignatureMethod** is a strategy class that implements a signature method OAuthSignatureMethod - `get_name() -> str` - `build_signature (OAuthRequest, OAuthConsumer, OAuthToken) -> str` **OAuthRequest** represents the request and can be seriali OAuthRequest: - `OAuthRequest(str http_method, str http_url, [dict parameters]) -> constructor` - `set_parameter(str parameter, str value) -> void` - `example parameters: oauth_consumer_key, foo` - `get_parameter(str parameter) -> str` - `get_parameters() -> dict` - `get_normalized_http_method() -> str` - `get_normalized_http_url() -> str` - `get_signable_params() -> dict` - `to_header () -> str // serialize as a header for an HTTPAuth request` - `to_postdata () -> str // serialize as post data for a POST request` - `to_url () -> str // serialize as a url for a GET request` - `sign_request(OAuthSignatureMethod, OAuthConsumer, OAuthToken) -> void` - `build_signature(OAuthSignatureMethod, OAuthConsumer, OAuthToken) -> str` - `(static) from_request([str http_method, str http_url, dict parameters])` - `(static) from_consumer_and_token(OAuthConsumer, OAuthToken, str http_method, str http_url, [dict parameters]) -> OAuthRequest` **OAuthServer** is a worker to check a requests validity against a data store OAuthServer: - `OAuthServer(OAuthDataStore) -> constructor` - `set_data_store(OAuthDataStore) -> void` - `get_data_store() -> OAuthDataStore` - `fetch_request_token (OAuthRequest) -> OAuthToken` - `fetch_access_token (OAuthRequest) -> OAuthToken` - `verify_request (OAuthRequest) -> OAuthToken` **OAuthClient** is a worker to attempt to execute a request OAuthClient: - `OAuthClient(OAuthConsumer, OAuthToken) -> constructor` - `get_consumer() -> OAuthConsumer` - `get_token() -> OAuthToken` - `fetch_request_token (OAuthRequest) -> OAuthToken` - `fetch_access_token (OAuthRequest) -> OAuthToken` **OAuthDataStore** is a database abstraction used to lookup consumers and tokens OAuthDataStore: - `lookup_consumer(str key) -> OAuthConsumer` - `lookup_token(OAuthConsumer, str token_type, str token_token) -> OAuthToken` - `lookup_nonce(OAuthConsumer, OAuthToken, str nonce, int timestamp) -> OAuthToken` - `fetch_request_token(OAuthConsumer) -> OAuthToken` - `fetch_access_token(OAuthConsumer, OAuthToken) -> OAuthToken`