我正在构建一个REST DB连接系统,用户只能根据client_id或user_id创建/获取/查询自己的数据并不重要。我已经成功实现了oAuth和Mapper / Resource对象以与我的实体/集合一起使用。使用访问令牌成功完成oAuth请求后,是否有建议的方法来获取client_id或user_id,以便根据发出请求的人筛选数据库查询?
答案 0 :(得分: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中添加setter / getters。
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()));