我有一个基于Laravel和Vue构建的SPA网站。
我正在使用axios来获得响应,并且一切正常。
[大多数数据是供应商,类别和产品,对它们不敏感,但是产品包含一些我需要在前端使用的数据,但是我不希望我的竞争对手掌握这些数据。
我该怎么做?所以我得到了数据,但它也被隐藏了?
所以我想可能是先将其加密然后解密,但不确定是否是正确的方法
{
"Products": [
{
"ID": 9950,
"VID": 114,
"Name": "TBH Special Burger ",
"Category": 224,
"Description": "",
"Image": "",
"Price": "250",
"DisplayPrice": 0,
"DealPrice": 0,
"Percentage": "15",
"Cust_Percentage": "0.00",
"DateTime": "2018-10-08 19:03:40",
},
],
}
在以上响应中,我仅尝试保护与百分比相关的数据。
您可以使用API资源来指定要显示的女巫字段看一下文档:https://laravel.com/docs/5.8/eloquent-resources
您正在寻找Laravel Passport。
Laravel使用Laravel Passport使API身份验证变得轻而易举,它可以在几分钟内为您的Laravel应用程序提供完整的OAuth2服务器实现。
使用Passport
,只有经过身份验证的用户才能通过API访问您的数据。阅读上面链接中的文档,然后尝试一下。
如果未经身份验证的用户通过在浏览器中输入网址来访问您的api,这是他将获得的响应:
{
"message": "Unauthenticated"
}
使用JavaScript使用API
Laravel提供了一个middleware,允许您使用JS应用程序中的api。从文档:
通常,如果要从JavaScript应用程序中使用API,则需要手动将访问令牌发送到应用程序,并将其与每个请求一起传递给应用程序。但是,Passport包含可以为您处理此问题的中间件。您需要做的就是将
CreateFreshApiToken
中间件添加到app/Http/Kernel.php
文件中的Web中间件组中:'web' => [ // Other middleware... \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class, ],
希望有帮助。