mirror of
https://github.com/elyby/oauth2-server.git
synced 2024-12-23 05:29:52 +05:30
Updated examples
This commit is contained in:
parent
eabcf82268
commit
5840ace38f
47
examples/composer.lock
generated
47
examples/composer.lock
generated
@ -4,7 +4,7 @@
|
|||||||
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
"Read more about it at http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"hash": "8d3e15426ebda5d273b960d5c9f373b5",
|
"hash": "9ae3d11ba275cce8764cfa3002ec7c93",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "alexbilbie/proton",
|
"name": "alexbilbie/proton",
|
||||||
@ -187,6 +187,51 @@
|
|||||||
],
|
],
|
||||||
"time": "2014-12-20 21:24:13"
|
"time": "2014-12-20 21:24:13"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "firebase/php-jwt",
|
||||||
|
"version": "2.0.0",
|
||||||
|
"target-dir": "Firebase/PHP-JWT",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/firebase/php-jwt.git",
|
||||||
|
"reference": "ffcfd888ce1e4f2d70cac2dc9b7301038332fe57"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/firebase/php-jwt/zipball/ffcfd888ce1e4f2d70cac2dc9b7301038332fe57",
|
||||||
|
"reference": "ffcfd888ce1e4f2d70cac2dc9b7301038332fe57",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.2.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"classmap": [
|
||||||
|
"Authentication/",
|
||||||
|
"Exceptions/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"BSD-3-Clause"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Neuman Vong",
|
||||||
|
"email": "neuman+pear@twilio.com",
|
||||||
|
"role": "Developer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Anant Narayanan",
|
||||||
|
"email": "anant@php.net",
|
||||||
|
"role": "Developer"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.",
|
||||||
|
"homepage": "https://github.com/firebase/php-jwt",
|
||||||
|
"time": "2015-04-01 18:46:38"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "illuminate/container",
|
"name": "illuminate/container",
|
||||||
"version": "v5.0.26",
|
"version": "v5.0.26",
|
||||||
|
40
examples/public/jwt.php
Normal file
40
examples/public/jwt.php
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use League\OAuth2\Server\Exception\OAuthException;
|
||||||
|
use League\OAuth2\Server\Server;
|
||||||
|
use League\OAuth2\Server\TokenTypes\JsonWebTokenType;
|
||||||
|
use OAuth2ServerExamples\Repositories\AccessTokenRepository;
|
||||||
|
use OAuth2ServerExamples\Repositories\ClientRepository;
|
||||||
|
use OAuth2ServerExamples\Repositories\ScopeRepository;
|
||||||
|
use OAuth2ServerExamples\Repositories\UserRepository;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|
||||||
|
include(__DIR__ . '/../vendor/autoload.php');
|
||||||
|
|
||||||
|
// Setup the authorization server
|
||||||
|
$server = new Server();
|
||||||
|
$server->addRepository(new ClientRepository());
|
||||||
|
$server->addRepository(new ScopeRepository());
|
||||||
|
$server->addRepository(new AccessTokenRepository());
|
||||||
|
$server->addRepository(new UserRepository());
|
||||||
|
|
||||||
|
// Enable the password grant, respond with JWTs
|
||||||
|
$server->enableGrantType('PasswordGrant', new JsonWebTokenType());
|
||||||
|
|
||||||
|
// Setup JWT params
|
||||||
|
JsonWebTokenType::setIssuer('http://example.com/');
|
||||||
|
JsonWebTokenType::setAudience('http://myawesomeapp.com/');
|
||||||
|
JsonWebTokenType::setEncryptionKey('foobar123');
|
||||||
|
|
||||||
|
// Setup app + routing
|
||||||
|
$application = new \Proton\Application();
|
||||||
|
$application->post('/access_token', function (Request $request) use ($server) {
|
||||||
|
try {
|
||||||
|
return $server->getAccessTokenResponse($request);
|
||||||
|
} catch (OAuthException $e) {
|
||||||
|
return $e->generateHttpResponse();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Run the app
|
||||||
|
$application->run();
|
34
examples/public/password.php
Normal file
34
examples/public/password.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use League\OAuth2\Server\Exception\OAuthException;
|
||||||
|
use League\OAuth2\Server\Server;
|
||||||
|
use OAuth2ServerExamples\Repositories\AccessTokenRepository;
|
||||||
|
use OAuth2ServerExamples\Repositories\ClientRepository;
|
||||||
|
use OAuth2ServerExamples\Repositories\ScopeRepository;
|
||||||
|
use OAuth2ServerExamples\Repositories\UserRepository;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
|
||||||
|
include(__DIR__ . '/../vendor/autoload.php');
|
||||||
|
|
||||||
|
// Setup the authorization server
|
||||||
|
$server = new Server();
|
||||||
|
$server->addRepository(new ClientRepository());
|
||||||
|
$server->addRepository(new ScopeRepository());
|
||||||
|
$server->addRepository(new AccessTokenRepository());
|
||||||
|
$server->addRepository(new UserRepository());
|
||||||
|
|
||||||
|
// Enable the password grant
|
||||||
|
$server->enableGrantType('PasswordGrant');
|
||||||
|
|
||||||
|
// Setup app + routing
|
||||||
|
$application = new \Proton\Application();
|
||||||
|
$application->post('/access_token', function (Request $request) use ($server) {
|
||||||
|
try {
|
||||||
|
return $server->getAccessTokenResponse($request);
|
||||||
|
} catch (OAuthException $e) {
|
||||||
|
return $e->generateHttpResponse();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Run the app
|
||||||
|
$application->run();
|
17
examples/src/Entities/UserEntity.php
Normal file
17
examples/src/Entities/UserEntity.php
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace OAuth2ServerExamples\Entities;
|
||||||
|
|
||||||
|
use League\OAuth2\Server\Entities\Interfaces\UserEntityInterface;
|
||||||
|
|
||||||
|
class UserEntity implements UserEntityInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Return the user's identifier
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function getIdentifier()
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
22
examples/src/Repositories/UserRepository.php
Normal file
22
examples/src/Repositories/UserRepository.php
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
namespace OAuth2ServerExamples\Repositories;
|
||||||
|
|
||||||
|
use League\OAuth2\Server\Entities\Interfaces\UserEntityInterface;
|
||||||
|
use League\OAuth2\Server\Repositories\UserRepositoryInterface;
|
||||||
|
use OAuth2ServerExamples\Entities\UserEntity;
|
||||||
|
|
||||||
|
class UserRepository implements UserRepositoryInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Get a user
|
||||||
|
*
|
||||||
|
* @param string $username
|
||||||
|
* @param string $password
|
||||||
|
*
|
||||||
|
* @return UserEntityInterface
|
||||||
|
*/
|
||||||
|
public function getByCredentials($username, $password)
|
||||||
|
{
|
||||||
|
return new UserEntity();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user