自定义登录逻辑之后,访问自定义接口,提示认证未授权

Blade 已结 1 98

通过帮助文档,已实现自定义的登录逻辑,目前遇到的问题是使用自定义登录逻辑获取的token在访问自定义接口时,提示请求未授权,请问是需要单独设置自定义接口的授权处理么?使用的bladex-boot版本,记得以前的版本通过拦截器可以以自己的逻辑来处理接口访问请求,现在新的应该如何去做

1条回答
  •  admin
    admin (最佳回答者)
    2天前

    调用接口所需要的参数和注意点可以看这里:https://center.javablade.com/blade/BladeX-Doc/src/branch/master/%E7%AC%AC1%E7%AB%A0%20%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B/1.6%20%E5%B7%A5%E7%A8%8B%E6%B5%8B%E8%AF%95/1.6.2%20%E6%B5%8B%E8%AF%95Boot%E7%89%88%E6%9C%AC.md


    作者追问:2天前

    可能我没有表述清楚

    我现在使用的是自定义用户表做登录,后台创建了应用,使用自定义的grant_type,用户登录成功,生成了自定义表的用户token

    通过放行接口,也能使用传递的token获取到对应的用户信息

    图片_20251015153408.png

    但是访问未放行的接口时,就报401,未授权了,这个接口不在后台的接口列表当中,是否是因为访问自定义接口时,走了后台管理接口的授权逻辑才导致的401问题,如果是,如何使用自己的业务逻辑

    因为当访问未放行的接口时,在这里获取不到token的信息了

    2.png

    回答: 2天前

    解析成功的接口和失败的接口都在同一个服务么?sign-key是否都配置的一致,你把这两个接口传递过来的jwt文件拷贝下来对比是不是一致,然后写个单元测试用 AuthUtil.parseJWT 来测试解析,看看结果是什么,如果是null,详细的错误堆栈是什么。

    作者追问:2天前

    不好意思,野路子不是太专业,刚才跟踪有问题,但是还是之前的问题,放行的接口可以访问,未放行的会报401请求未授权

    两个接口请求在AuthUtils里都能获取到token信息

    区别在于跟踪到之后,AuthUtils的userIncomplete这个方法的时候,会因为自定义的用户token没有设置DeptId,account,RoleId,TanertId而导致最终在TokenInterceptor里进入了用户信息不全的失败,能否将指定的路径通过自定义拦截器来处理而不进入默认的TokenInterceptor?前后端的用户是分离的,并不需要设置角色这些,租户也关了

    1.png

    回答: 2天前

    关掉严格模式

    CleanShot20251015164727@2x.png

    作者追问:2天前

    好的我试试,非常感谢

    0 讨论(1)
提交回复