我有一个基于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",
},
],
}
在上述响应中,我仅尝试保护与百分比相关的数据。
答案 0 :(得分:1)
您正在寻找Laravel Passport。
Laravel使用Laravel Passport使API身份验证变得轻而易举,它可以在几分钟内为您的Laravel应用程序提供完整的OAuth2服务器实现。
使用Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim dt As New DataTable
Dim r = dt.Compute("((5000 / 30) * (22 + 6)) + ((5000 / 30 / 8) * (20))", Nothing)
Debug.Print(r.ToString)
End Sub
,只有经过身份验证的用户才能通过API访问您的数据。
阅读上面链接中的文档,然后尝试一下。
如果未经身份验证的用户通过在浏览器中输入网址来访问您的api,这将是他的响应:
Passport
使用JavaScript消费API
Laravel提供了中间件,可让您使用JS应用程序中的api。从文档中:
通常,如果要使用JavaScript应用程序中的API,则需要手动向应用程序发送访问令牌,并将其与每个请求一起传递给应用程序。但是,Passport包含可以为您处理此问题的中间件。您需要做的就是将
{ "message": "Unauthenticated" }
中间件添加到CreateFreshApiToken
文件中的Web中间件组中:app/Http/Kernel.php
希望有帮助。
答案 1 :(得分:0)
您可以使用 API资源来指定要显示的字段 看一下文档: https://laravel.com/docs/5.8/eloquent-resources