Я создаю подключенную систему REST DB, в которой пользователи могут создавать или выбирать/запрашивать свои собственные данные на основе client_id или user_id, не имеет значения. Я успешно реализовал объекты oAuth и Mapper/Resource для совместного использования с Entity/Collection. После успешного запроса oAuth, использующего токен доступа, есть рекомендуемый способ получить client_id или user_id, чтобы я мог фильтровать запросы к базе данных на основании того, кто сделал запрос?Apigility Custom Db Filter на основе запроса oAuth
0
A
ответ
1
Решено. простое решение в конфигурации API вставляет экземпляр \ ZF \ MvcAuth \ Identity \ AuthenticatedIdentity в служебный картограф.
if ($sm->has('api-identity')) {
$mapper->setAuthenticatedIdentity($sm->get('api-identity'));
} else {
$mapper->setAuthenticatedIdentity(new \ZF\MvcAuth\Identity\AuthenticatedIdentity());
}
В Mapper добавить сеттер/геттеры.
protected $authenticatedIdentity;
public function setAuthenticatedIdentity(\ZF\MvcAuth\Identity\AuthenticatedIdentity $authenticatedIdentity)
{
$this->authenticatedIdentity = $authenticatedIdentity;
}
protected function getAuthenticatedIdentity()
{
return $this->authenticatedIdentity;
}
И наконец.
print_r(get_class_methods($this->getAuthenticatedIdentity()));