是否可以在 Swagger ui 之前添加登录页面?
Posted
技术标签:
【中文标题】是否可以在 Swagger ui 之前添加登录页面?【英文标题】:Is it possible to add a login page before Swagger ui? 【发布时间】:2016-04-11 10:26:41 【问题描述】:我需要在 Swagger UI 之前添加一个单独的登录页面,以便从另一台服务器进行身份验证。从这个请求中,我将获得一个密钥,我必须将它添加到来自 swagger UI 的每个请求的标题中。
我正在使用带有 swagger 2.0 的节点服务器和 swagger-tool。
【问题讨论】:
【参考方案1】:如果您使用的是 nginx,您可以添加基本的 HTTP 身份验证。然后,任何人只要访问您的文档 url 或子域,他们就会在能够访问 swagger-ui 之前弹出一个用户/密码对话框。
Full instructions 用于创建您的用户/密码组合(假设是 Ubuntu):
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd exampleuser
该工具会提示您输入密码。
然后更新您的 nginx 文件,为 docs 路由添加类似的内容:
location /docs
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://0.0.0.0:3000;
然后重新加载nginx:
sudo /etc/init.d/nginx reload
【讨论】:
以上是关于是否可以在 Swagger ui 之前添加登录页面?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用API PLATFORM(symfony 4)添加登录到swagger UI?
Swashbuckle.AspNet.Core:Swagger UI 显示空白页面 - 如何修复?