я использую эта реализация OAuth2. Когда я проверяю запросы в контроллере ресурсов, я проверяю через
if (!$server->verifyResourceRequest(OAuth2\Request::createFromGlobals())) {
$server->getResponse()->send();
die;
}
если access_token
при условии, было правильно.
В настоящее время этот фрагмент кода находится во всех моих различных resource.php
файлы, к которым осуществляется доступ через ajax, так как мне нужно die
чтобы код не пошел дальше, когда токен был недействительным.
Как я могу экспортировать всю эту функциональность во внешнюю функцию / файл validateToken()
и использовать его во всех моих resource.php
файлы, не теряя то, что die
делает? Достаточно ли обернуть все мои resource.php
в if
заявление, которое имеет validateToken()
как условие?
Решение зависит от того, что именно у вас есть в ваших ресурсах. Например, ваши ресурсы — это контроллеры, которые унаследованы от некоторого класса BasicController, и у вас есть собственный onDispatch
реализация. Там вы можете проверить запросы и токены доступа. Плюсы этого примера в том, что вам не нужно добавлять проверку токена доступа внутри каждого контроллера. Я бы реализовал собственный сервис OAuth (это зависит от архитектуры вашего проекта), где будут размещаться упакованные методы. В BaseController вы можете использовать этот сервис для проверки токена доступа, и вся логика OAuth будет размещена в одном месте (я имею в виду в сервисе).
П.С .: избегать die
использование. Реализовать несколько простых сообщений об ошибках …
Других решений пока нет …