6K Star 11.8K Fork 4K

GVPdotNET China / Furion

 / 详情

基于jwt token的swagger登录后,swagger前端无法保存access-token,导致登录无效

已完成
创建于  
2023-02-01 15:27

输入图片说明

💢 特别说明:如果 Issue 没有严格按照模板编写且未提供测试源码下载或 Git 测试仓库地址,则视为无效 Issue,将无法得到答复。

Furion 版本号

哪个版本号?
4.6.5

.NET SDK 版本号

  • .NET5
  • .NET6
  • .NET7

项目类型

  • WebApi
  • Mvc
  • Razor Pages
  • Blazor Server
  • MinApp
  • WinForm
  • WPF
  • Console

描述你的问题

发生了什么?

swagger登录成功后(基于jwt token的认证方式),前端并没有保存access-token,导致基于token的登录无效,导致无法访问需要认证的token


异常堆栈信息

输入图片说明

期待结果

期待的结果是?

swagger登录成功后,能够正常访问需要认证的接口;


确认工单

为了减少不必要的沟通成本和时间成本,请再次确认 Issue 已按照要求正确填写,否则将被直接关闭。

评论 (20)

liuhll 创建了任务

你可以在调用loginobject.submiturl成功后,直接调用defaultResponseInterceptor(res);应该可以解决该bug!

974299 monksoul 1578937227 百小僧 拥有者
回复 百小僧 拥有者

还有另外自动续期的方法:

输入图片说明

百小僧 任务状态待办的 修改为已完成

等等,我想搞清楚你说的登录时什么意思?是哪个登录?

百小僧 任务状态已完成 修改为待办的

功能没问题:

输入图片说明

输入图片说明

输入图片说明

输入图片说明

输入图片说明

百小僧 任务状态待办的 修改为已完成

唉 你真应该认真看一下!而不是简单的认为没有bug;
你在执行_httpContextAccessor.HttpContext.SigninToSwagger("传入 token");后相应头会携带access-token,给到前端,你在调用loginObject.checkUrl,该方法已经通过响应头返回了access-token;

输入图片说明

输入图片说明

基于cookie的登录应该不会存在该问题,如果是基于token的登录肯定会存在该bug的

我明白你的意思了,你是在 SubmitUrl 这个之后返回 token,而不是在 swagger 中设置,如果是这样的操作,那么确实是不会触发。

这个可以算一个bug,也不算,因为一开始就没有考虑到会这么用,经过你这么一说,发现这个属于一个非常好的改进,我立马实现。

百小僧 任务状态已完成 修改为待办的
百小僧 里程碑设置为v4.8.5

嗯嗯 好的 谢谢

可以提交一个pr吗?直接在线修改这两个文件即可,因为是你发现了,不能占了功劳。

https://gitee.com/dotnetchina/Furion/tree/v4/framework/Furion/SpecificationDocument/Assets

输入图片说明

收到,已合并,我现在测试一下,没问题今天发布。

好的 谢谢

测试之后发现报错,原因是 res 是返回结果,而不是 response 对象,当然接下来我来调整了,你的需求一定满足。

输入图片说明

原因是 XHR 返回的是 responsebody,而不是 HttpResponse 对象

输入图片说明

https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/response

已修正:696d663

下个版本发布。

百小僧 任务状态待办的 修改为已完成

Furion v4.8.5.5 版本已发布,已修正。

输入图片说明
现在还是有bug,loginObject.submitUrlsuccess回调方法中, 应该先调用初始化initSwaggerUI()方法,再执行响应拦截器,否则,全局变量中没有ui

    initSwaggerUI(configObject, oauthConfigObject);
    defaultResponseInterceptor({ headers: headerMap });
                                            

输入图片说明

= =,好,。。。兄弟,继续提交 pr....,我来做最后的审核和测试。。。。

https://gitee.com/dotnetchina/Furion/tree/v4/framework/Furion/SpecificationDocument/Assets

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
2194549 liuhll2 1704871565 974299 monksoul 1578937227
C#
1
https://gitee.com/dotnetchina/Furion.git
git@gitee.com:dotnetchina/Furion.git
dotnetchina
Furion
Furion

搜索帮助