Skip to content

Commit

Permalink
Merge pull request #100 from fotovio/develop
Browse files Browse the repository at this point in the history
Fixed Issues with Returns and Columns of Fluent Storage
  • Loading branch information
alexbilbie committed Sep 26, 2013
2 parents bee71c1 + 23627c6 commit a358835
Show file tree
Hide file tree
Showing 3 changed files with 108 additions and 103 deletions.
49 changes: 28 additions & 21 deletions src/League/OAuth2/Server/Storage/Fluent/Client.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,37 +7,44 @@

class Client implements ClientInterface {

public function getClient($clientId, $clientSecret = null, $redirectUri = null, $grantType = null)
{
if ( ! is_null($redirectUri) && is_null($clientSecret)) {
public function getClient($clientId, $clientSecret = null, $redirectUri = null, $grantType = null) {


if (!is_null($redirectUri) && is_null($clientSecret)) {
$result = DB::table('oauth_clients')
->join('oauth_client_endpoints', 'oauth_clients.id', '=', 'oauth_client_endpoints.client_id')
->where('oauth_clients.id', $clientId)
->where('oauth_client_endpoints.redirect_uri', $redirectUri)
->first();
} elseif ( ! is_null($clientSecret) && is_null($redirectUri)) {
->join('oauth_client_endpoints', 'oauth_clients.id', '=', 'oauth_client_endpoints.client_id')
->where('oauth_clients.id', $clientId)
->where('oauth_client_endpoints.redirect_uri', $redirectUri)
->first();

} elseif (!is_null($clientSecret) && is_null($redirectUri)) {
$result = DB::table('oauth_clients')
->where('id', $clientId)
->where('secret', $clientSecret)
->first();
} elseif ( ! is_null($clientSecret) && ! is_null($redirectUri)) {
->where('id', $clientId)
->where('secret', $clientSecret)
->first();

} elseif (!is_null($clientSecret) && !is_null($redirectUri)) {
$queries = DB::getQueryLog();

$result = DB::table('oauth_clients')
->join('oauth_client_endpoints', 'oauth_clients.id', '=', 'oauth_client_endpoints.client_id')
->where('oauth_clients.id', $clientId)
->where('oauth_clients.secret', $clientSecret)
->where('oauth_client_endpoints.redirect_uri', $redirectUri)
->first();
->join('oauth_client_endpoints', 'oauth_clients.id', '=', 'oauth_client_endpoints.client_id')
->where('oauth_clients.id', $clientId)
->where('oauth_clients.secret', $clientSecret)
->where('oauth_client_endpoints.redirect_uri', $redirectUri)
->first();

}

if (is_null($result)) {
return false;
}

return array(
'client_id' => $result->id,
'client_secret' => $result->secret,
'redirect_uri' => (isset($result->redirect_uri)) ? $result->redirect_uri : null,
'name' => $result->name
'client_id' => $result->id,
'client_secret' => $result->secret,
'redirect_uri' => (isset($result->redirect_uri)) ? $result->redirect_uri : null,
'name' => $result->name,
'auto_approve' => $result->auto_approve
);
}

Expand Down
12 changes: 6 additions & 6 deletions src/League/OAuth2/Server/Storage/Fluent/Scope.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@

class Scope implements ScopeInterface {

public function getScope($scope, $clientId = null, $grantType = null)
{
$result = DB::table('oauth_scopes')
->where('key', $scope)
->first();
public function getScope($scope, $clientId = null, $grantType = null) {
$result = DB::table('oauth_scopes')
->where('scope', $scope)
->first();

if (is_null($result)) {
return false;
}

return array(
'id' => $result->id,
'scope' => $result->key,
'scope' => $result->scope,
'name' => $result->name,
'description' => $result->description
);
}

}
150 changes: 74 additions & 76 deletions src/League/OAuth2/Server/Storage/Fluent/Session.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,150 +7,148 @@

class Session implements SessionInterface {

public function createSession($clientId, $ownerType, $ownerId)
{
return DB::table('oauth_sessions')->insertGetId(array(
public function createSession($clientId, $ownerType, $ownerId) {
return DB::table('oauth_sessions')->insertGetId([
'client_id' => $clientId,
'owner_type' => $ownerType,
'owner_id' => $ownerId
));
]);
}

public function deleteSession($clientId, $ownerType, $ownerId)
{
public function deleteSession($clientId, $ownerType, $ownerId) {
DB::table('oauth_sessions')
->where('client_id', $clientId)
->where('owner_type', $ownerType)
->where('owner_id', $ownerId)
->delete();
->where('client_id', $clientId)
->where('owner_type', $ownerType)
->where('owner_id', $ownerId)
->delete();
}

public function associateRedirectUri($sessionId, $redirectUri)
{
DB::table('oauth_session_redirects')->insert(array(
public function associateRedirectUri($sessionId, $redirectUri) {
DB::table('oauth_session_redirects')->insert([
'session_id' => $sessionId,
'redirect_uri' => $redirectUri,
));
]);
}

public function associateAccessToken($sessionId, $accessToken, $expireTime)
{
return DB::table('oauth_session_access_tokens')->insertGetId(array(
public function associateAccessToken($sessionId, $accessToken, $expireTime) {
return DB::table('oauth_session_access_tokens')->insertGetId([
'session_id' => $sessionId,
'access_token' => $accessToken,
'access_token_expires' => $expireTime,
));
]);
}

public function associateRefreshToken($accessTokenId, $refreshToken, $expireTime, $clientId)
{
DB::table('oauth_session_refresh_tokens')->insert(array(
public function associateRefreshToken($accessTokenId, $refreshToken, $expireTime, $clientId) {
DB::table('oauth_session_refresh_tokens')->insert([
'session_access_token_id' => $accessTokenId,
'refresh_token' => $refreshToken,
'refresh_token_expires' => $expireTime,
'client_id' => $clientId,
));
]);
}

public function associateAuthCode($sessionId, $authCode, $expireTime)
{
DB::table('oauth_session_authcodes')->insert(array(
public function associateAuthCode($sessionId, $authCode, $expireTime) {


DB::table('oauth_session_authcodes')->insert([
'session_id' => $sessionId,
'auth_code' => $authCode,
'auth_code_expires' => $expireTime
));
]);

return DB::table('oauth_session_authcodes')->where('auth_code',$authCode)->first()->id;

}

public function removeAuthCode($sessionId)
{
public function removeAuthCode($sessionId) {
DB::table('oauth_session_authcodes')
->where('session_id', $sessionId)
->delete();
->where('session_id', $sessionId)
->delete();
}

public function validateAuthCode($clientId, $redirectUri, $authCode)
{
public function validateAuthCode($clientId, $redirectUri, $authCode) {
$result = DB::table('oauth_sessions')
->select(array('oauth_sessions.id as session_id', 'oauth_session_authcodes.id as authcode_id'))
->join('oauth_session_authcodes', 'oauth_sessions.id', '=', 'oauth_session_authcodes.session_id')
->join('oauth_session_redirects', 'oauth_sessions.id', '=', 'oauth_session_redirects.session_id')
->where('oauth_sessions.client_id', $clientId)
->where('oauth_session_authcodes.auth_code', $authCode)
->where('oauth_session_authcodes.auth_code_expires', '>=', time())
->where('oauth_session_redirects.redirect_uri', $redirectUri)
->first();

->select(['oauth_sessions.id as session_id', 'oauth_session_authcodes.id as authcode_id'])
->join('oauth_session_authcodes', 'oauth_sessions.id', '=', 'oauth_session_authcodes.session_id')
->join('oauth_session_redirects', 'oauth_sessions.id', '=', 'oauth_session_redirects.session_id')
->where('oauth_sessions.client_id', $clientId)
->where('oauth_session_authcodes.auth_code', $authCode)
->where('oauth_session_authcodes.auth_code_expires', '>=', time())
->where('oauth_session_redirects.redirect_uri', $redirectUri)
->first();
return (is_null($result)) ? false : (array) $result;
}

public function validateAccessToken($accessToken)
{
public function validateAccessToken($accessToken) {
$result = DB::table('oauth_session_access_tokens')
->join('oauth_sessions', 'oauth_session_access_tokens.session_id', '=', 'oauth_sessions.id')
->where('access_token', $accessToken)
->where('access_token_expires', '>=', time())
->first();
->join('oauth_sessions', 'oauth_session_access_tokens.session_id', '=', 'oauth_sessions.id')
->where('access_token', $accessToken)
->where('access_token_expires', '>=', time())
->first();

return (is_null($result)) ? false : (array) $result;
}

public function validateRefreshToken($refreshToken, $clientId)
{
public function validateRefreshToken($refreshToken, $clientId) {
$result = DB::table('oauth_session_refresh_tokens')
->where('refresh_token', $refreshToken)
->where('client_id', $clientId)
->where('refresh_token_expires', '>=', time())
->first();
->where('refresh_token', $refreshToken)
->where('client_id', $clientId)
->where('refresh_token_expires', '>=', time())
->first();

return (is_null($result)) ? false : $result->session_access_token_id;
}

public function getAccessToken($accessTokenId)
{
public function getAccessToken($accessTokenId) {
$result = DB::table('oauth_session_access_tokens')
->where('id', $accessTokenId)
->first();
->where('id', $accessTokenId)
->first();

return (is_null($result)) ? false : (array) $result;
}

public function associateScope($accessTokenId, $scopeId)
{
DB::table('oauth_session_token_scopes')->insert(array(
public function associateScope($accessTokenId, $scopeId) {



DB::table('oauth_session_token_scopes')->insert([
'session_access_token_id' => $accessTokenId,
'scope_id' => $scopeId,
));
]);
}

public function getScopes($accessToken)
{
public function getScopes($accessToken) {
return DB::table('oauth_session_token_scopes')
->join('oauth_session_access_tokens', 'oauth_session_token_scopes.session_access_token_id', '=', 'oauth_session_access_tokens.id')
->join('oauth_scopes', 'oauth_session_token_scopes.session_access_token_id', '=', 'oauth_scopes.id')
->where('access_token', $accessToken)
->get();
}

public function associateAuthCodeScope($authCodeId, $scopeId)
{
DB::table('oauth_session_authcode_scopes')->insert(array(
public function associateAuthCodeScope($authCodeId, $scopeId) {

DB::table('oauth_session_authcode_scopes')->insert([
'oauth_session_authcode_id' => $authCodeId,
'scope_id' => $scopeId
));
]);
}

public function getAuthCodeScopes($oauthSessionAuthCodeId)
{
return DB::table('oauth_session_authcode_scopes')
->where('oauth_session_authcode_id', '=', $oauthSessionAuthCodeId)
->get();
public function getAuthCodeScopes($oauthSessionAuthCodeId) {
$result = DB::table('oauth_session_authcode_scopes')
->where('oauth_session_authcode_id', '=', $oauthSessionAuthCodeId)
->get();

return array_map(function($val)
{
return json_decode(json_encode($val), true);
}, $result);
}

public function removeRefreshToken($refreshToken)
{
public function removeRefreshToken($refreshToken) {
DB::table('oauth_session_refresh_tokens')
->where('refresh_token', '=', $refreshToken)
->delete();
->where('refresh_token', '=', $refreshToken)
->delete();
}

}

0 comments on commit a358835

Please sign in to comment.