У меня есть несколько stati c веб-сайтов на AWS S3 Bucket, и я настроил Cloudfront для запуска Lambda для управления аутентификацией пользователей. Я нашел шаблон Node.js, который создает всплывающее окно проверки подлинности Basi c HTTP, однако я не знаком с Node.js, и мне нужно создать поток, чтобы пользователи могли получать доступ только к тому, что им нужно.
Глядя на код Node.js, я предполагаю, что функция Buffer создает всплывающее окно:
exports.handler = (event, context, callback) => {
const request = event.Records[0].cf.request;
const headers = request.headers;
const user = 'user';
const pw = 'password';
const authString = 'Basic ' + new Buffer(user + ':' + pw).toString('base64');
if (typeof headers.authorization == 'undefined' || headers.authorization[0].value != authString) {
const response = {
status: '401',
statusDescription: 'Unauthorized',
body: 'Unauthorized',
headers: {
'www-authenticate': [{key: 'WWW-Authenticate', value:'Basic'}]
},
};
callback(null, response);
}
callback(null, request);
};
Я искал везде, и я нашел только Node.js примеров для того, что мне нужно, есть ли подобная функция или способ воспроизвести это Basi c HTTP Auth Popup на Python, которое могло бы работать на Lambda + CloudFront?
Заранее спасибо.