Я хочу выполнить аутентификацию, заставив пользователя ввести только пароль, который одинаков для всех пользователей.
Первоначально я думал, что делать с /form-submission.js
триггером функции, что-то вроде:
- на
/
, есть форма для входа. - при успешном вводе пароля, перенаправить на
/secretpassword/site.html
- на
/secretpassword/site.html
показать секретный контент
Если я делаю это таким образом, я думаю, что у меня есть две проблемы:
- Как мне заставить
form-submission
слушать мою логику в моем ответе? - Есть лиКак я могу получить функцию для запуска запроса загрузки страницы?
Вот мой код для 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'
})
}
Любая помощь будет оценена!спасибо!