У меня есть приложение React, обслуживаемое веб-сервером express
. В этом приложении мне нужно запрашивать сертификат клиента у пользователя, когда он нажимает кнопку «Войти». Это для авторизации с использованием общих карт доступа.
Мой express
сервер использует модуль https
с параметрами, установленными на требование сертификата клиента. Он запрашивает пользователя сразу при посещении веб-сайта, но я ожидал, что приглашение будет отображаться только при посещении / запросе конечной точки /authorize
из-за этого кода:
# Serve React app
app.use(express.static(path.join(__dirname, "..", "build")));
# Request client certificate
app.get('/authenticate', (req, res) => {
const cert = req.connection.getPeerCertificate()
...
});
https.createServer(opts, app).listen(9999)
Моя кнопка «Войти» запрашивает /authorize
конечная точка, которая возвращает информацию о сертификате как JSON.
Как я могу спроектировать это приложение, чтобы сохранить текущую функциональность, но запрашивать сертификат клиента только после нажатия кнопки входа в систему?