【发布时间】:2020-10-06 17:41:57
【问题描述】:
我有一个由express Web 服务器提供服务的 React 应用程序。在此应用程序中,当用户单击“登录”按钮时,我需要向用户请求客户端证书。这是为了使用通用访问卡进行授权。
我的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 形式返回证书信息。
如何构建此应用程序以维护当前功能,但仅在单击登录按钮后提示输入客户端证书?
【问题讨论】:
-
我唯一的想法是将 React 应用程序与
express服务器分开托管(在 S3 存储桶中),但我不知道这是否可行。
标签: reactjs express tls1.2 cac