限制Swagger UI访问 - 用户登录

时间:2016-10-11 12:40:49

标签: rest authentication login swagger swagger-ui

我正在使用Swagger UI进行交互式REST端点表示。但是,知道其URL的每个人都可以访问Swagger UI。有没有标准的方法来限制用户登录的Swagger UI访问?

2 个答案:

答案 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 UIPOSTMAN访问/易受攻击,或只是对该网址的简单请求。< / p>