Routes préconfigurées

vous pouvez ajouter des fonctionnalitées simplement à votre api.

fichier app/Http/routes.php

APIRoute::version(
    'v1',
    function($api)
    {

        //injecter les routes préconfigurées ici

    });

Index des resources de l'Api

fournis un listing des ressources de l'api sur une url definie (default '/')

{
  "endpoints": [
    {
      "path": "/skimia.api.svc",
      "methods": [
        "GET",
        "HEAD"
      ]
    },
    {
      "path": "/skimia.api.svc/login",
      "methods": [
        "POST"
      ]
    },
    {
      "path": "/skimia.api.svc/user",
      "methods": [
        "GET",
        "HEAD"
      ]
    },
    {
      "path": "/skimia.api.svc/sessions",
      "methods": [
        "GET",
        "HEAD"
      ]
    },
    {
      "path": "/skimia.api.svc/sessions/kill",
      "methods": [
        "GET",
        "HEAD"
      ]
    },
    {
      "path": "/skimia.api.svc/sessions/kill/all",
      "methods": [
        "GET",
        "HEAD"
      ]
    },
    {
      "path": "/skimia.api.svc/sessions/kill/{code}",
      "methods": [
        "GET",
        "HEAD"
      ]
    },
    {
      "path": "/",
      "methods": [
        "GET",
        "HEAD"
      ]
    }
  ]
}

code à injecter

RouteFusion::apiIndexListing($api);

Routes d'authetification

Sentinel users manager

utilise cartalyst/Sentinel pour la gestion utilisateurs, il faut l'installer.

pour ce faire il faut copier et executer les migrations :

Avant d'utiliser les commandes suivantes, il faut supprimer les migrations par defaut de laravel pour eviter une colision sur les tables

php artisan vendor:publish --provider="Cartalyst\Sentinel\Laravel\SentinelServiceProvider"

php artisan migrate

code à injecter

RouteFusion::apiLoginHttp($api); //authentification par http (cookies)
RouteFusion::apiLoginJWT($api); //authentification par JSONWebTokens (you must install tymon/jwt-auth package)

JSON Web Tokens

This package makes use of a 3rd party package to integrate JWT authentication. Please refer to the tymon/jwt-auth GitHub page for details on installing and configuring the package

guide interne d'installation des json webtokens

Au moment d'ecrire ces docs le package est en train de subir des refactorisations bloquantes c'est pour cela que nous vous conseillons d'installer le package via les commandes suivantes

Quick install :

composer require tymon/jwt-auth=dev-develop#2f6a539
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
php artisan jwt:secret

Route de connexion

route /skimia.api.svc/login [POST]

header shield :sentinel requis pour les routes protégées si on utilise la methode HTTP

header shield :bearer requis pour les routes protégées si on utilise la methode JWT

données POST

array(
  'email'       => 'john.doe@example.com',
  'password'    => 'foobar',
  'remember-me' => true //only for http auth
)