Аутентификация только по паролю для всего сайта с Netlify - PullRequest
0 голосов
/ 08 октября 2018

Я хочу выполнить аутентификацию, заставив пользователя ввести только пароль, который одинаков для всех пользователей.

Первоначально я думал, что делать с /form-submission.js триггером функции, что-то вроде:

  1. на /, есть форма для входа.
  2. при успешном вводе пароля, перенаправить на /secretpassword/site.html
  3. на /secretpassword/site.html показать секретный контент

Если я делаю это таким образом, я думаю, что у меня есть две проблемы:

  1. Как мне заставить form-submission слушать мою логику в моем ответе?
  2. Есть лиКак я могу получить функцию для запуска запроса загрузки страницы?

Вот мой код для form-submission function

Я вижу, что моя функция работает вжурнал функций, но ответ по-прежнему является страницей ответа формы netlify

Действие формы HTML такое же, как и местоположение сообщения

passwordForm.addEventListener('submit', function(e) {
e.preventDefault();
var formData = Array.from(new FormData(passwordForm), e => e.map(encodeURIComponent).join('=')).join('&');

fetch('secretpassword', {
        method: 'POST',
        headers: { "Content-Type": "application/x-www-form-urlencoded" },
        body: formData
    })
    .then((response) => {
        console.log('response', response)
    })
    .catch((ex) => {
        console.log('ex', ex);
    });
});

form-submission.js

exports.handler = (event, context, callback) => {
let data = JSON.parse(event.body).payload.data,
    password = data.password.toLowerCase();

if (password !== 'secretpassword') {
    console.log('fail!')
    return callback(null, {
        statusCode: 401,
        body: 'not authorized'
    })
}

console.log('success!')
return callback(null, {
    statusCode: 200,
    body: 'secret information'
})
}

Любая помощь будет оценена!спасибо!

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