如何在登录屏幕后面锁定我的Swagger UI页面?

问题描述 投票:0回答:1

我一直试图想出一种方法,我可以使用Oauth 2.0在登录屏幕后面锁定我的swagger-ui.html页面,最终能够通过JWT识别用户。

我已经设法弄清楚如何包含一个授权按钮,但我希​​望在成功登录之前不要看到API方法。这是解决这个问题的最佳方法,只是为了重定向到一个带登录屏幕的单独页面,是否有一种简单的方法可以在Swagger配置文件中执行此操作?

java spring-boot oauth-2.0 swagger-ui
1个回答
0
投票

您需要添加一个中间件来查找当前有效的令牌(可能是JWT或其他任何东西)。如果无效,请通过您的身份验证机制发送用户(可能是Oauth2或其他)。这不是SwaggerUI独有的 - 它适用于任何Web应用程序。

这个答案讨论了如何使用Spring MVC过滤器来检查会话令牌:https://stackoverflow.com/a/21592143/1168588

确定令牌是否有效的机制将特定于您的实现。 JWT通过自包含验证信息使这一过程变得简单。

(注意 - OAuth和JWT不是互斥的 - OAuth是令牌交换协议,JWT是令牌格式)。

© www.soinside.com 2019 - 2024. All rights reserved.