Nuxt JSаутентификация - PullRequest
       7

Nuxt JSаутентификация

0 голосов
/ 29 сентября 2018

У меня есть маршрут в nuxt, который должен быть доступен только зарегистрированным пользователям: /dashboard/secret.

На странице /dashboard У меня есть такая ссылка:

<nuxt-link to="/dashboard/secret">Link to "secret" page</nuxt-link>

При нажатии Nuxt извлекает эту страницу из

myapp.com/_nuxt/pages_dashboard_secret.js

Как добавить аутентификацию для этого маршрута Nuxt, чтобы люди не могли вручную переходить по этому URL-адресу и читать содержимое?

Дафактические секретные данные будут взяты из внешнего API, который будет проверять токен пользователя, но все же кажется неправильным, что люди могут видеть даже HTML-код этой страницы

Ответы [ 3 ]

0 голосов
/ 29 сентября 2018

Вы можете использовать пакет nuxt / auth , который подходит для вашей работы и может использоваться как плагин и модуль, вы можете проверить, есть ли он на доступной странице или нет, он запускается автоматическии имеет семантическую структуру.

0 голосов
/ 30 октября 2018

если вы просто хотите защитить файл js, было бы неправильно делать это так.Но если вы имеете в виду, что вы просто хотите защитить маршрут от ручного доступа пользователей, вы должны попробовать Nuxt Middlewares и написать промежуточное программное обеспечение для аутентификации и выборки пользователей.

Структура промежуточного программного обеспечения может быть такой простой:

export default function ({ store, redirect }) {
  // If the user is not authenticated
  if (!store.state.authenticated) {
    return redirect('/login')
  }
}

, и вы можете просто использовать ее следующим образом в корневой (или secretPage) раскладке:

<template>
  <h1>Secret page</h1>
</template>

<script>
export default {
  middleware: 'authenticated'
}
</script>
0 голосов
/ 29 сентября 2018

Вы не можете хранить свой секрет на стороне клиента (в своем коде JS), каждый, кто использует ваше приложение, может получить его из своего браузера.Вам необходимо хранить секретные ключи на стороне сервера и создать некоторую конечную точку проверки, чтобы определить, действителен ли пользователь или нет, или просто сохранить сеанс после входа в систему.

...