gpt4 book ai didi

zend-framework2 - 如何在 Apigility 中检查 oAuth2 范围?

转载 作者:行者123 更新时间:2023-12-01 00:48:21 24 4
gpt4 key购买 nike

我正在创建一个 apigility 项目,我们将在其中托管我们所有的 API。我们需要能够使用 OAuth2 进行身份验证,但我们无法弄清楚如何控制对某些 API 的访问,似乎一旦客户端通过身份验证,他们就可以使用我们的任何 API,但我们希望限制它们仅使用特定的 API我们定义。阅读 OAuth2 后 library apigility 使用,我看到有可以定义的范围,但我没有找到任何关于如何检查用户的范围以查看他们是否有权访问的文档。我想知道这是否是限制对某些 API 访问的最佳方法以及如何设置它,或者是否有更好的方法来控制访问?

最佳答案

刚刚使用以下配方实现了这个功能......

https://github.com/remiq/apigility-zfc-rbac-recipe

它工作得非常好,只需要几个小时就可以让它全部工作。

或者,您可以只在 Controller 操作(资源方法)中进行检查

$identity =  $this->getIdentity()->getAuthenticationIdentity();
$scope = $identity["scope"]

if (! in_array('admin', $scope)) {
return new ApiProblem(Response::STATUS_CODE_401, 'No Auth');
}

上面的代码未经测试,但如果你想这样做,应该会让你走上正确的道路

关于zend-framework2 - 如何在 Apigility 中检查 oAuth2 范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32855282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com