diff --git a/src/oauth2server/DatabaseInterface.php b/src/oauth2server/DatabaseInterface.php index 2bc70808..7f601c3c 100644 --- a/src/oauth2server/DatabaseInterface.php +++ b/src/oauth2server/DatabaseInterface.php @@ -71,11 +71,37 @@ interface DatabaseInteface ); /** - * [validateAuthCode description] - * @param string $clientId The client ID - * @param string $redirectUri The redirect URI - * @param string $authCode The authorisation code - * @return [type] [description] + * Validate that an authorisation code is valid + * + * Database query: + * + * + * SELECT * FROM oauth_sessions WHERE client_id = $clientID AND + * redirect_uri = $redirectUri AND auth_code = $authCode + * + * + * Response: + * + * + * Array + * ( + * [id] => (int) The session ID + * [client_id] => (string) The client ID + * [redirect_uri] => (string) The redirect URI + * [owner_type] => (string) The session owner type + * [owner_id] => (string) The session owner's ID + * [auth_code] => (string) The authorisation code + * [stage] => (string) The session's stage + * [first_requested] => (int) Unix timestamp of the time the session was first generated + * [last_updated] => (int) Unix timestamp of the time the session was last updated + * ) + * + * + * @param string $clientId The client ID + * @param string $redirectUri The redirect URI + * @param string $authCode The authorisation code + * @return array|null Returns an array if the authorisation + * code is valid otherwise returns null */ public function validateAuthCode( $clientId, @@ -84,11 +110,20 @@ interface DatabaseInteface ); /** - * [hasAccessToken description] - * @param string $type The session owner's type - * @param string $typeId The session owner's ID - * @param string $clientId The client ID - * @return boolean [description] + * Return the access token for a given session owner and client combination + * + * Database query: + * + * + * SELECT access_token FROM oauth_sessions WHERE client_id = $clientId + * AND owner_type = $type AND owner_id = $typeId + * + * + * @param string $type The session owner's type + * @param string $typeId The session owner's ID + * @param string $clientId The client ID + * @return string|null Return the access token as a string if + * found otherwise returns null */ public function hasAccessToken( $type, @@ -97,33 +132,66 @@ interface DatabaseInteface ); /** - * [getAccessToken description] - * @param int $sessionId The OAuth session ID - * @return [type] [description] + * Return the access token for a given session + * + * Database query: + * + * + * SELECT access_token FROM oauth_sessions WHERE id = $sessionId + * + * + * @param int $sessionId The OAuth session ID + * @return string|null Returns the access token as a string if + * found otherwise returns null */ public function getAccessToken($sessionId); /** - * [removeAuthCode description] + * Removes an authorisation code associated with a session + * + * Database query: + * + * + * UPDATE oauth_sessions SET auth_code = NULL WHERE id = $sessionId + * + * * @param int $sessionId The OAuth session ID - * @return [type] [description] + * @return void */ public function removeAuthCode($sessionId); /** - * [setAccessToken description] + * Sets a sessions access token + * + * Database query: + * + * + * UPDATE oauth_sessions SET access_token = $accessToken WHERE id = + * $sessionId + * + * * @param int $sessionId The OAuth session ID * @param string $accessToken The access token + * @return void */ public function setAccessToken( - int $sessionId, + $sessionId, $accessToken ); /** - * [addSessionScope description] - * @param int $sessionId [description] - * @param string $scope [description] + * Associates a session with a scope + * + * Database query: + * + * + * INSERT INTO oauth_session_scopes (session_id, scope) VALUE ($sessionId, + * $scope) + * + * + * @param int $sessionId The session ID + * @param string $scope The scope + * @return void */ public function addSessionScope( $sessionId, @@ -131,27 +199,77 @@ interface DatabaseInteface ); /** - * [getScope description] - * @param string $scope [description] - * @return [type] [description] + * Return information about a scope + * + * Database query: + * + * + * SELECT * FROM scopes WHERE scope = $scope + * + * + * Response: + * + * + * Array + * ( + * [id] => (int) The scope's ID + * [scope] => (string) The scope itself + * [name] => (string) The scope's name + * [description] => (string) The scope's description + * ) + * + * + * @param string $scope The scope + * @return array */ public function getScope($scope); /** - * [updateSessionScopeAccessToken description] - * @param int $sesstionId [description] - * @param string $accessToken [description] - * @return [type] [description] + * Associate a session's scopes with an access token + * + * Database query: + * + * + * UPDATE oauth_session_scopes SET access_token = $accessToken WHERE + * session_id = $sessionId + * + * + * @param int $sessionId The session ID + * @param string $accessToken The access token + * @return void */ public function updateSessionScopeAccessToken( - $sesstionId, + $sessionId, $accessToken ); /** - * [accessTokenScopes description] - * @param string $accessToken [description] - * @return [type] [description] + * Return the scopes associated with an access token + * + * Database query: + * + * + * SELECT scopes.scope, scopes.name, scopes.description FROM + * oauth_session_scopes JOIN scopes ON oauth_session_scopes.scope = + * scopes.scope WHERE access_token = $accessToken + * + * + * Response: + * + * + * Array + * ( + * [0] => Array + * ( + * [scope] => (string) The scope + * [name] => (string) The scope's name + * [description] => (string) The scope's description + * ) + * ) + * + * + * @param string $accessToken The access token + * @return array */ public function accessTokenScopes($accessToken); } \ No newline at end of file