Php 如何仅允许移动应用程序使用laravel api?

Php 如何仅允许移动应用程序使用laravel api?,php,laravel,api,react-native,Php,Laravel,Api,React Native,我正在使用react native+Laravel API构建一个移动应用程序。移动应用程序无需注册/登录即可由公众访问 我想要的是,如何只允许移动应用程序访问API。API不允许来自web。API是与前端分离的组件。因此,它无法知道什么样的平台试图访问它,当然,除非前端向API提供一些信息(这是不可信的) 因此,我的意思是,您可以尝试传递一个自定义参数或一个头部字段,指示来自移动设备的请求,而不包括来自其他平台的请求。然而,这只是众多方法之一 您可以使用此Laravel组件,它可以与Compo

我正在使用react native+Laravel API构建一个移动应用程序。移动应用程序无需注册/登录即可由公众访问


我想要的是,如何只允许移动应用程序访问API。API不允许来自web。

API是与前端分离的组件。因此,它无法知道什么样的平台试图访问它,当然,除非前端向API提供一些信息(这是不可信的)


因此,我的意思是,您可以尝试传递一个自定义参数或一个头部字段,指示来自移动设备的请求,而不包括来自其他平台的请求。然而,这只是众多方法之一

您可以使用此Laravel组件,它可以与Composer一起安装。 该软件包提供了使用单个API密钥的功能,您可以将该API密钥放入.env文件中

我想你不想自己动手建造这个

composer require erjanmx/laravel-api-auth
发布包配置

php artisan vendor:publish --provider="Apiauth\Laravel\CAuthServiceProvider"
将此添加到.env

REMOTE_APP_TOKEN=<secret-token>
只有提供了有效的秘密令牌,才能访问组中的URL

  • 在GET或POST请求中
  • 在请求头中作为授权承载
  • 在原始体中

秘密令牌是您生成的任何字符串。在移动应用程序和Laravel端使用相同的秘密令牌。

您可以参考此信息,可能这会帮助您更加具体。你的应用程序有用户吗?他们是否在应用程序中注册?请给这个问题添加一些细节。@gauri,我以前看过。这是与用户登录一起工作的。您可以考虑向HTTP请求添加自定义标题。@ RyTANXR,我在我的问题中提到过。移动应用程序可由公众访问,无需registration@sapnesh-我会试试的,太好了。我会调查的。
// /routes/api.php

Route::group(['prefix' => 'v1', 'middleware' => ['apiauth:REMOTE_APP']], function () {
     // your routes
});