1. Go to this page and download the library: Download codeacious/oauth2-provider library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
codeacious / oauth2-provider example snippets
'service_manager' => [
'factories' => [
//Register the factory with whatever service name you like
'MyOAuth2Provider' => 'Codeacious\OAuth2Provider\ProviderFactory',
],
],
'oauth2provider' => [
//Configure the provider here
],
//Create and configure a Server as per the oauth2-server-php docs
$server = new \OAuth2\Server();
$server->addStorage(...);
$server->addGrantType(...);
//Create a Provider
$provider = new \Codeacious\OAuth2Provider\Provider($server, $this->getRequest());
class OAuthController extends AbstractActionController
{
public function tokenAction()
{
return $this->getServiceLocator()->get('MyOAuth2Provider')
->handleTokenRequest()
->makeHttpResponse();
}
}
public function authorizationAction()
{
$provider = $this->getServiceLocator()->get('MyOAuth2Provider');
//Reject the request if it does not comply with OAuth 2.0 rules
if (!$provider->validateAuthorizeRequest())
return $provider->makeHttpResponse();
//If the user has submitted the logon form, validate their password
$view = new ViewModel();
if ($this->getRequest()->isPost())
{
$userId = $this->params()->fromPost('user_id');
$password = $this->params()->fromPost('password');
if ($this->_passwordIsCorrect($userId, $password))
{
return $provider
->handleAuthorizeRequest(true, $userId)
->makeHttpResponse();
}
else
$view->message = 'Your user ID or password was incorrect.';
}
return $view;
}
protected function _passwordIsCorrect($userId, $password)
{
//Your logic
}
public function myApiEndpointAction()
{
//Authenticate
$provider = $this->getServiceLocator()->get('MyOAuth2Provider');
if (!$provider->verifyResourceRequest())
return $provider->makeHttpResponse();
//Get the authenticated user
$userId = $provider->getIdentity()->getUserId();
//Your logic here
}
'service_manager' => [
'factories' => [
//Override the authentication listener from the zf-mvc-auth package
'ZF\MvcAuth\Authentication\DefaultAuthenticationListener' => 'Codeacious\OAuth2Provider\MvcAuth\AuthenticationListenerFactory',
],
],
'zf-mvc-auth' => [
'authentication' => [
//Tell the authentication listener where to find the Provider instance
'oauth2provider' => 'MyOAuth2Provider',
],
],
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.