Yuriy Belenko fa9bd1f567 [Slim] Add ApiKey and OAuth authentication middleware (#1207)
* [Slim] Add fork of token middleware

This commit will be dropped, when official repo approves submitted PRs.
Right now it's for test purposes only.

* [Slim] Adds token middleware to template

* [Slim] Move auth implementation to external classes

* [Slim] Update readme

* [Slim] Add config example

* [Slim] Remove deprecated package

Considered to use dyorg/slim-token-authentication for all authentication
schemes. User needs to decode and parse Basic token himself, but it's
pretty simple task and there are many code examples in
the web. Most of time solution is two lines of code.

* [Slim] Format phpdoc comments

I've changed PHP version to 7 and updated comments to follow  main
recommendations. Used PHPCodesniffer rules are Generic.Commenting,
Squiz.Commenting, PEAR.Commenting. Of course I applied only reasonable
sniffs from this standards.

@category tag has been deleted as deprecated accordingly to
phpDocumentor offical docs.

Ref: http://docs.phpdoc.org/references/phpdoc/tags/category.html

* [Slim] Refresh samples
2019-01-05 11:32:23 +09:00

225 lines
7.7 KiB
PHP

<?php
/**
* AbstractUserApi
*
* PHP version 7
*
* @package OpenAPIServer\Api
* @author OpenAPI Generator team
* @link https://github.com/openapitools/openapi-generator
*/
/**
* OpenAPI Petstore
*
* This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
* OpenAPI spec version: 1.0.0
* Generated by: https://github.com/openapitools/openapi-generator.git
*/
/**
* NOTE: This class is auto generated by the openapi generator program.
* https://github.com/openapitools/openapi-generator
* Do not edit the class manually.
*/
namespace OpenAPIServer\Api;
use Psr\Container\ContainerInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;
use Exception;
/**
* AbstractUserApi Class Doc Comment
*
* @package OpenAPIServer\Api
* @author OpenAPI Generator team
* @link https://github.com/openapitools/openapi-generator
*/
abstract class AbstractUserApi
{
/**
* @var ContainerInterface Slim app container instance
*/
protected $container;
/**
* Route Controller constructor receives container
*
* @param ContainerInterface $container Slim app container instance
*/
public function __construct(ContainerInterface $container)
{
$this->container = $container;
}
/**
* POST createUser
* Summary: Create user
* Notes: This can only be done by the logged in user.
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
* @param array|null $args Path arguments
*
* @return ResponseInterface
* @throws Exception to force implementation class to override this method
*/
public function createUser(ServerRequestInterface $request, ResponseInterface $response, array $args)
{
$body = $request->getParsedBody();
$message = "How about implementing createUser as a POST method in OpenAPIServer\Api\UserApi class?";
throw new Exception($message);
return $response->write($message)->withStatus(501);
}
/**
* POST createUsersWithArrayInput
* Summary: Creates list of users with given input array
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
* @param array|null $args Path arguments
*
* @return ResponseInterface
* @throws Exception to force implementation class to override this method
*/
public function createUsersWithArrayInput(ServerRequestInterface $request, ResponseInterface $response, array $args)
{
$body = $request->getParsedBody();
$message = "How about implementing createUsersWithArrayInput as a POST method in OpenAPIServer\Api\UserApi class?";
throw new Exception($message);
return $response->write($message)->withStatus(501);
}
/**
* POST createUsersWithListInput
* Summary: Creates list of users with given input array
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
* @param array|null $args Path arguments
*
* @return ResponseInterface
* @throws Exception to force implementation class to override this method
*/
public function createUsersWithListInput(ServerRequestInterface $request, ResponseInterface $response, array $args)
{
$body = $request->getParsedBody();
$message = "How about implementing createUsersWithListInput as a POST method in OpenAPIServer\Api\UserApi class?";
throw new Exception($message);
return $response->write($message)->withStatus(501);
}
/**
* DELETE deleteUser
* Summary: Delete user
* Notes: This can only be done by the logged in user.
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
* @param array|null $args Path arguments
*
* @return ResponseInterface
* @throws Exception to force implementation class to override this method
*/
public function deleteUser(ServerRequestInterface $request, ResponseInterface $response, array $args)
{
$username = $args['username'];
$message = "How about implementing deleteUser as a DELETE method in OpenAPIServer\Api\UserApi class?";
throw new Exception($message);
return $response->write($message)->withStatus(501);
}
/**
* GET getUserByName
* Summary: Get user by user name
* Output-Formats: [application/xml, application/json]
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
* @param array|null $args Path arguments
*
* @return ResponseInterface
* @throws Exception to force implementation class to override this method
*/
public function getUserByName(ServerRequestInterface $request, ResponseInterface $response, array $args)
{
$username = $args['username'];
$message = "How about implementing getUserByName as a GET method in OpenAPIServer\Api\UserApi class?";
throw new Exception($message);
return $response->write($message)->withStatus(501);
}
/**
* GET loginUser
* Summary: Logs user into the system
* Output-Formats: [application/xml, application/json]
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
* @param array|null $args Path arguments
*
* @return ResponseInterface
* @throws Exception to force implementation class to override this method
*/
public function loginUser(ServerRequestInterface $request, ResponseInterface $response, array $args)
{
$queryParams = $request->getQueryParams();
$username = $request->getQueryParam('username');
$password = $request->getQueryParam('password');
$message = "How about implementing loginUser as a GET method in OpenAPIServer\Api\UserApi class?";
throw new Exception($message);
return $response->write($message)->withStatus(501);
}
/**
* GET logoutUser
* Summary: Logs out current logged in user session
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
* @param array|null $args Path arguments
*
* @return ResponseInterface
* @throws Exception to force implementation class to override this method
*/
public function logoutUser(ServerRequestInterface $request, ResponseInterface $response, array $args)
{
$message = "How about implementing logoutUser as a GET method in OpenAPIServer\Api\UserApi class?";
throw new Exception($message);
return $response->write($message)->withStatus(501);
}
/**
* PUT updateUser
* Summary: Updated user
* Notes: This can only be done by the logged in user.
*
* @param ServerRequestInterface $request Request
* @param ResponseInterface $response Response
* @param array|null $args Path arguments
*
* @return ResponseInterface
* @throws Exception to force implementation class to override this method
*/
public function updateUser(ServerRequestInterface $request, ResponseInterface $response, array $args)
{
$username = $args['username'];
$body = $request->getParsedBody();
$message = "How about implementing updateUser as a PUT method in OpenAPIServer\Api\UserApi class?";
throw new Exception($message);
return $response->write($message)->withStatus(501);
}
}