Site basé sur le framework Laravel 5.2 et AngularJS 1.5.8.
Packages utilisés:
- JWT-Auth - tymondesigns/jwt-auth
- Dingo API - dingo/api
- Laravel-CORS barryvdh/laravel-cors
###Créer le lien vers PHP 5.5
$ mkdir -p ~/.composer/vendor/bin
$ ln -s /usr/bin/php5.5-cli ~/.composer/vendor/bin/php
###Modifier le PATH
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.profile
echo "alias php='/usr/bin/php5.5-cli'" >> ~/.profile
echo "alias composer='php ~/composer.phar'" >> ~/.profile
source ~/.profile
###Installer Composer
curl -sS https://getcomposer.org/installer | php
###Installer le projet
$ git clone https://github.com/ahomberger/lekartautrement laravel
$ cd laravel
$ cp .env.example .env
$ composer install
Quelques articles qui peuvent aidé poru son utilisation :
I've put an "AuthController" in App\Api\V1\Controllers. It supports the four basic authentication/password recovery operations:
- login();
- signup();
- recovery();
- reset();
In order to work with them, you just have to make a POST request with the required data.
You will need:
- login: just email and password;
- signup: whatever you like: you can specify it in the config file;
- recovery: just the user email address;
- reset: token, email, password and password confirmation;
You can specify your routes in the api_routes.php
file, that will be automatically loaded. In this file you will find many examples of routes.
Every time you create a new project starting from this repository, the php artisan jwt:generate command will be executed.
As I already told before, this boilerplate is based on dingo/api and tymondesigns/jwt-auth packages. So, you can find many informations about configuration here and here.
However, there are some extra options that I placed in a config/boilerplate.php file.
- signup_fields: you can use this option to specify what fields you want to use to create your user;
- signup_fields_rules: you can use this option to specify the rules you want to use for the validator instance in the signup method;
- signup_token_release: if "true", an access token will be released from the signup endpoint if everything goes well. Otherwise, you will just get a 201 Created response;
- reset_token_release: if "true", an access token will be released from the signup endpoint if everything goes well. Otherwise, you will just get a 200 response;
- recovery_email_subject: here you can specify the subject for your recovery data email;
You can create endpoints in the same way you could to with using the single dingo/api package. You can read its documentation for details.
After all, that's just a boilerplate! :)
If you want to enable CORS for a specific route or routes group, you just have to use the cors middleware on them.
Thanks to the barryvdh/laravel-cors package, you can handle CORS easily. Just check the docs at this page for more info.
I currently removed the VerifyCsrfToken middleware from the $middleware array in app/Http/Kernel.php file. If you want to use it in your project, just use the route middleware csrf you can find, in the same class, in the $routeMiddleware array.
I currently made this project for personal purposes. I decided to share it here to help anyone with the same needs. If you have any feedback to improve it, feel free to make a suggestion, or open a PR!