添加应用程序身份验证扬鞭UI

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

我有春天启动的应用程序在哪里集成JWT认证。

为了验证,用户需要发送POST请求用户名和密码,以/login,然后他会用{"token": "BEARER SOME_TOKEN" } JSON响应。

在我昂首阔步UI,当我点击“试试吧”,并执行的请求,该请求被没有任何令牌发送。

问题 - 有什么办法来查询登录请求,并添加授权令牌到扬鞭UI请求?

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

在这种情况下,我们可以截取令牌并将其添加到定义SwaggerUIBundle当index.html使用这两个拦截器的所有要求:

            const ui = SwaggerUIBundle({
                ...
                responseInterceptor:
                    function (response) {
                        if (response.obj.access_token) {
                            console.log(response.obj.access_token)
                            const token = response.obj.access_token;
                            localStorage.setItem("token", token)
                        }

                        return response;
                    },
                requestInterceptor:
                    function (request) {
                        request.headers.Authorization = "Bearer " + localStorage.getItem("token");
                        return request;
                }
           }

该responseInterceptor捕获响应,如果它包含字段“令牌”它本地存储保存它。该requestInterceptor增加了Authorization头每次调用您使用来自本地存储的值从招摇的UI做。

此修复程序是使用招摇的UI V3:

   <script src="https://unpkg.com/[email protected]/swagger-ui-standalone-preset.js"></script>
   <script src="https://unpkg.com/[email protected]/swagger-ui-bundle.js"></script>
© www.soinside.com 2019 - 2024. All rights reserved.