【问题标题】:Restrict API public access限制 API 公共访问
【发布时间】:2020-07-01 15:26:49
【问题描述】:

我正在使用 Laravel 构建一个 API,并在 android 移动应用程序上使用它。我只希望它被我的应用程序使用,并阻止对公众的访问。无论如何要做到这一点?

【问题讨论】:

    标签: android laravel api


    【解决方案1】:

    您可以使用Middleware 限制对公众的访问。您可以简单地生成令牌并将其传递到标头中,或者使用带有用户名和密码的基本身份验证并在中间件中检查它。

    如果任何参数或认证方法没有传入meddleware,只需输入abort(401),它就会返回401 Unauthenticated

    希望对你有帮助

    【讨论】:

    • 感谢您的想法。是否可以仅将 API 限制为外部应用程序(第三方应用程序或任何移动应用程序)并在 Laravel 应用程序中不受限制地使用它(例如使用 Vue.js)
    • 当然可以。您可以传递 access-controll-allow-origin 标头并在那里传递您想要的任何值。例如在中间件的handle(Request $request, $next){} 方法中你可以写:return $next($request)->header('Access-Controll-Allow-Origin', 'https://yoursite.com');,所以只有yoursite.com 将被允许访问该api
    【解决方案2】:

    为此,您可以使用 Laravel Airlock。

    这是它的文档:https://laravel.com/docs/master/airlock

    由于问题没有提供代码,我无法为您提供具体的代码示例,但在文档中,它的解释非常好,因此将它与您的应用程序集成应该没有任何问题。

    您可以查看这篇文章以获取更多示例:https://medium.com/@JillevdWeerd/app-authentication-with-laravel-airlock-36e3d2027994

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 2020-12-08
      • 1970-01-01
      • 2013-02-13
      相关资源
      最近更新 更多