![](/img/trans.png)
[英]How to allow api access to android or ios app only(laravel)?
[英]How to allow laravel api only for mobile app?
我正在使用react native + Laravel API構建一個移動應用程序。 移動應用無需注冊/登錄即可公開訪問。
我想要的是,如何僅允許移動應用訪問API。 API不應允許來自網絡。
您可以使用可與Composer一起安裝的Laravel組件。 該軟件包提供了使用放在.env文件中的單個API密鑰的功能。
https://github.com/erjanmx/laravel-api-auth
我認為您不想自己構建它。
composer require erjanmx/laravel-api-auth
發布程序包配置
php artisan vendor:publish --provider="Apiauth\Laravel\CAuthServiceProvider"
將此添加到.env
REMOTE_APP_TOKEN=<secret-token>
將“ apiauth:REMOTE_APP”中間件添加到您的路由
// /routes/api.php
Route::group(['prefix' => 'v1', 'middleware' => ['apiauth:REMOTE_APP']], function () {
// your routes
});
只有提供有效的秘密令牌,才能訪問組中的URL
秘密令牌是您生成的任何字符串。 在移動應用程序和Laravel端使用相同的秘密令牌。
API是與前端分離的組件。 因此,它沒有任何辦法知道哪種平台正在嘗試訪問它,除非前端當然向API提供了一些信息(這是不可信的)。
因此,我的意思是,您可以嘗試傳遞自定義參數或標頭字段,以指示來自移動設備的請求,而不將其包含在來自其他平台的請求中。 但是,這只是多種方法之一。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.