Я занимаюсь созданием SPA (гибридного приложения) с использованием ionic и AngularJS (1.5.x). Я использую Symfony 2.8 для своего бэк-офиса и для обработки своего API.
Я хотел использовать JWT, и я использую для этого пакет Lexik JWT. Все работает нормально. Когда пользователь входит в систему, он получает токен, который затем сохраняется в заголовке Authorization. Только пользователи с этим токеном (вернее, токеном в этом заголовке) могут получить доступ к API и выполнять вызовы API.
Единственное, что мне неясно, это как сделать так, чтобы пользователь мог выполнять только вызовы API (получать информацию о пользователе, обновлять только свои собственные сообщения и т. д.), которые касаются их СОБСТВЕННОЙ информации.
До сих пор я пытался получить данные из заголовка Authorization, чтобы в дальнейшем каким-то образом использовать данные этого токена (имя пользователя там), чтобы проверить, равно ли оно имени пользователя, который сделал этот отчет.
Пробовал несколько вещей, таких как getallheaders()
, $token = $_SERVER['Authorization'];
и другие общие функции, которые проверяют заголовки запросов, но каждый раз я также получаю ошибки.
Я что-то не понимаю или пропустил шаг? Я неправильно использую JWT? Верны ли мои рассуждения о том, как я должен это делать, или есть более плавный/логичный способ сделать это?
Я также использую FOSRestBundle для своего API, а также NelmioCORS, NelmioApiDoc и FOSUSERBundle.