2016-04-19 3 views
0

Я создаю свое первое приложение с силекс. Только зарегистрированные пользователи могут использовать приложение. На первой странице я создаю форму входа, поэтому пользователь может аутентифицироваться. Оформление бронирования:Аутентификация токена Silex

$app->register(new Silex\Provider\SecurityServiceProvider(), array(
     'security.firewalls' => array(
      'secure_area_edison' => array(
       'pattern' => '^/admin/', 
       'form' => array('login_path' => '/', 'check_path' => '/admin/login_check'), 
       'logout' => array('logout_path' => '/admin/logout', 'invalidate_session' => true), 
       'users' => function() use ($app) { 
        return new App\Services\UserProvider($app['db']); 
       }, 
      ), 
     ) 
    )); 

Для каждого URL-адреса после '/ admin' требуется, чтобы пользователь прошел аутентификацию. Все работает отлично, и теперь я хочу расширить свое приложение с помощью API. Я создаю новый контроллер, который извлекает данные из базы данных и возвращает ответ JSON, эта работа также прекрасна.

Но как может пользователь аутентифицироваться для этого API? Должен ли я создать новый столбец в моей пользовательской таблице, например «хэш» или «токен»? Пользователи, которые будут получать ответ JSON, должны отправить токен в каждый запрос на получение, верно ли это?

URL-адрес может выглядеть:

/admin/api/allProducts/token/<TOKEN> 

ответ