我面临这样一个问题,即从事我项目的前前端开发人员即使在退出后也可以访问我的前端 API。我已经实施了用于身份验证和授权的 Laravel Sanctum,以及用户名和密码系统以及不记名令牌。此外,我还设置了 Laravel Telescope 来监控对我的 API 发出的请求。
尽管采取了这些措施,我仍然担心前开发人员可以访问 API。我还向我的客户提供相同的 API,这使得防止未经授权的访问变得更加重要。
我可以采取哪些额外措施来保护我的 API 并防止前开发人员访问它们?任何建议或最佳实践将不胜感激。谢谢。
如果用户已经签署了保密协议,你不必担心这个。但如果不是,您应该为该开发人员创建一个中间件,这样您就可以限制该开发人员可以执行的写入操作。
你可以用类似于这个的方式创建一个中间件:
php artisan make:middleware ReadAccessOnlyMiddleware
然后在中间件里面
protected $usernames = ['[email protected]'];
public function handle($request, Closure $next)
{
$method = $request->method();
if (($method !== 'POST' || $method !== 'PUT') && in_array($request->user()->email, $this->usernames)) {
abort(403);
}
return $next($request);
}
至少您可以控制该开发人员可以执行的任何操作,或者更好的是为该开发人员创建一个仅请求的 API 密钥并限制“ X 天”这样你就可以限制开发人员与 API 的交互。
归结为您公司关于开发人员为何可以访问此 API 的政策。
• Keycloak - 通过公共客户端使用授权的 API 资源
• 如何在我的 Vue 3 应用程序中解决这个与 roue 相关的问题?
• Laravel 8 cors 不适用于 post (api) 请求
• 如何设置 Nginx 以在同一域上使用前端 vue 应用程序运行 PHP/Laravel API
• 是否可以在分别具有不同域的两个api服务器之间共享cookie?
• 在 onBeforeMouted() 上更改 Vue 3 中的 URL?
• 具有后端 API 的 SPA 的 OpenID Connect - 在 PKCE 与传统授权代码流之间做出决定
• 为第三方用户交互 RESTful 服务策略保留令牌。 (亚马逊 AdApi)
• 在 Vue 和 GC 运行中使用 API 密钥最安全的方法是什么?
• Firebase 托管重写路径以使用 GCP API 网关作为 SPA 的后端
• Postman 使用 Rails 7 API,但是来自 Vue 的 POST 请求得到 422 错误
• 在 Vue 2.7 中使用带有 TypeScript 的 Composition API 时全局实例属性的“找不到名称”