[英]Apigility Custom Db Filter Based on oAuth Request
我正在構建一個REST DB連接的系統,用戶只能基於client_id或user_id創建/獲取/查詢自己的數據,這無關緊要。 我已經成功實現了oAuth和Mapper / Resource對象以及我的Entity / Collection。 使用訪問令牌成功完成oAuth請求后,是否有建議的方法來獲取client_id或user_id,因此我可以根據誰提出請求來過濾數據庫查詢?
解決了。 一個簡單的解決方案是在API配置中將\\ ZF \\ MvcAuth \\ Identity \\ AuthenticatedIdentity的實例注入服務映射器。
if ($sm->has('api-identity')) {
$mapper->setAuthenticatedIdentity($sm->get('api-identity'));
} else {
$mapper->setAuthenticatedIdentity(new \ZF\MvcAuth\Identity\AuthenticatedIdentity());
}
在“映射器”中添加setter / getter。
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()));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.