reiterus / microapi-secure
MicroApi Secure is a small API engine based on MicroApi Core and Symfony packages.
Installs: 10
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 3
Open Issues: 0
Type:project
Requires
- php: ^8.1
- firebase/php-jwt: ^6.4
- symfony/browser-kit: ^6.2
- symfony/config: ^6.2
- symfony/dependency-injection: ^6.2
- symfony/dotenv: ^6.2
- symfony/framework-bundle: ^6.2
- symfony/http-foundation: ^6.2
- symfony/http-kernel: ^6.2
- symfony/routing: ^6.2
- symfony/runtime: ^6.2
- symfony/security-bundle: ^6.2
- symfony/yaml: ^6.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.16
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.0
README
MicroApi Secure is a small engine for creating application APIs based on Symfony packages, which is a development of MicroApi Core and contains security tools. Since MicroApi is based on the Symfony architecture, it can be developed to any level of complexity if desired. Forming your application based on this engine, you will always be sure that there is nothing superfluous in your code.
Features of MicroApi Secure out of the box
- ability to
- create secure endpoints
- use JWT-tokens
- authentication examples
base
,json
andtoken
- example of using a provider
- in-memory
- in-json
- users list in a JSON-file
- PhpStorm http requests files
- custom logger with named channels
- 3 configuration files
- examples of testing REST API endpoints
See also core features.
Join the development of MicroApi!
Usage
It's very simple! Just run these two commands:
composer create-project reiterus/microapi-secure folder && cd folder
make docker-start
That's all!
Now your API app is available at http://localhost:8009
JWT
To get JWT-token just send http-request to endpoint. For example, /admin
.
To check/decode this token send request to jwt/decode
endpoint.
GET http://localhost:8009/jwt/decode Authorization: Bearer some.jwt-token
JWT-token structure:
{ "iat": 1681036036, "exp": 1681036336, "sub": "admin.email@yandex.ru", "user": { "username": "admin", "email": "admin.email@yandex.ru", "roles": [ "ROLE_ADMIN" ] } }
Logger
# run command docker-compose logs -ft api | grep MICROAPI # get log info MICROAPI: TOKEN_ACCESS: Invalid Access Token {"token":"wrong.token.manager"}
Makefile commands
For the convenience of working with the project, there are several make-commands: local and for Docker.
Examples
Default response at /admin
endpoint
{ "page": "Admin Account", "identifier": "admin", "roles": [ "ROLE_ADMIN" ] }
Installation
You can install the project in two ways
From packagist.org
composer create-project reiterus/microapi-secure
From GitHub repository
{ "repositories": [ { "type": "vcs", "url": "https://github.com/reiterus/microapi-secure.git" } ] }
License
This library is released under the MIT license.