Каков наилучший способ использовать API и скрыть ответы - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть сайт SPA, построенный на Laravel и Vue.

Я использую 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",
    },
],
}

Только в ответе вышеДанные, связанные с процентами, я пытаюсь защитить.

Ответы [ 2 ]

1 голос
/ 27 сентября 2019

Вы ищете Laravel Passport .

Laravel упрощает аутентификацию API, используя Laravel Passport, который обеспечивает полную реализацию сервера OAuth2 для вашего приложения Laravel в считанные секунды.минут.

С Passport только аутентифицированные пользователи могут получить доступ к вашим данным через API.Прочитайте документацию по ссылке выше и попробуйте.

Если неаутентифицированные пользователи получают доступ к вашему API, набрав URL в своем браузере, он получит ответ:

{
    "message": "Unauthenticated"
}

Использование вашего API с помощью JavaScript

Laravel предоставляет промежуточное программное обеспечение , которое позволяет вам использовать API из вашего приложения JS.Из документов:

Как правило, если вы хотите использовать свой API из приложения JavaScript, вам нужно будет вручную отправить маркер доступа к приложению и передавать его с каждым запросом к вашему приложению.Тем не менее, Passport включает промежуточное программное обеспечение, которое может обработать это для вас.Все, что вам нужно сделать, это добавить промежуточное программное обеспечение CreateFreshApiToken в группу веб-промежуточного программного обеспечения в файле app/Http/Kernel.php:

'web' => [
   // Other middleware...
   \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
],

Надеюсь, это поможет.

0 голосов
/ 27 сентября 2019

Вы можете использовать Ресурсы API , чтобы указать поля ведьмы, которые вы хотели бы показать в ответе, взгляните на документы: https://laravel.com/docs/5.8/eloquent-resources

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...