X-Git-Url: https://git-public.kairo.at/?p=authserver.git;a=blobdiff_plain;f=server.inc.php;h=87b6535d4132b694d008bf3076caf794d8596963;hp=6a82b50002b8197e47b273c331568ad5ce85a4c6;hb=46f7aedadd9c6b1bb64e72c4c0770d9b1030454f;hpb=133aecbe7a7fb733dc202240ec7de844e2baf425 diff --git a/server.inc.php b/server.inc.php index 6a82b50..87b6535 100644 --- a/server.inc.php +++ b/server.inc.php @@ -12,15 +12,25 @@ require_once('../oauth2-server-php/src/OAuth2/Autoloader.php'); OAuth2\Autoloader::register(); // $dsn is the Data Source Name for your database, for exmaple "mysql:dbname=my_oauth2_db;host=localhost" -$storage = new OAuth2\Storage\Pdo($dbdata); +$oauth2_storage = new OAuth2\Storage\Pdo($dbdata); + +// Set configuration +$oauth2_config = array( + 'require_exact_redirect_uri' => false, + 'always_issue_new_refresh_token' => true, // Needs to be handed below as well as there it's not constructed from within the server object. + 'refresh_token_lifetime' => 90*24*3600, +); // Pass a storage object or array of storage objects to the OAuth2 server class -$server = new OAuth2\Server($storage); +$server = new OAuth2\Server($oauth2_storage, $oauth2_config); // Add the "Client Credentials" grant type (it is the simplest of the grant types) -$server->addGrantType(new OAuth2\GrantType\ClientCredentials($storage)); +//$server->addGrantType(new OAuth2\GrantType\ClientCredentials($storage)); // Add the "Authorization Code" grant type (this is where the oauth magic happens) -$server->addGrantType(new OAuth2\GrantType\AuthorizationCode($storage)); +$server->addGrantType(new OAuth2\GrantType\AuthorizationCode($oauth2_storage)); + +// Add the "Refresh Token" grant type (required to get longer-living resource access by generating new access tokens) +$server->addGrantType(new OAuth2\GrantType\RefreshToken($oauth2_storage, array('always_issue_new_refresh_token' => true))); ?>