我正在使用Swagger UI进行交互式REST端点表示。但是,知道其URL的每个人都可以访问Swagger UI。有没有标准的方法来限制用户登录的Swagger UI访问?
答案 0 :(得分:4)
如果你正在使用nginx,你可以添加基本的HTTP身份验证。然后,只要有人访问您的文档网址或子网域,他们就会在能够访问swagger-ui之前获得弹出式用户/密码对话框。
Full instructions用于创建用户/密码组合(假设是Ubuntu):
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd exampleuser
该工具会提示您输入密码。
然后更新你的nginx文件,使其具有类似于docs route的内容:
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
答案 1 :(得分:1)
如果您害怕未经授权的访问,为什么不保护API本身?我不知道您是否可以按照自己的要求行事,但即使可以,您的API仍然可以通过SOAP UI
或POSTMAN
访问/易受攻击,或只是对该网址的简单请求。< / p>