Skip to content

问题记录

yadong.zhang edited this page Jul 5, 2019 · 1 revision

1. QQ登录:100048:CompanyID not set

JustAuth中使用uuid来确保用户的唯一性。在qq登录中,用户的uuid是取的unionid。获取unionid需要单独申请权限: 参考文章

2. QQ登录开启unionId后获取不到以前授权过的用户信息

这是因为没开启unionId时,uuid取的openid,开启unionId后就是取的unionId。所以你们在自己网站中处理的时候, 需要注意下获取用户信息这一块的逻辑。 开启unionId后需要用or去查询openid或者unionId匹配的用户。 伪代码:

// 开启unionId前
User user = userService.getUserByUuidAndSource(uuid, source);

// 开启unionId后
User user = userService.getUserByOpenIdOrUnionIdAndSource(openId, unionId, source);

2. 报NoSuchMethodError:cn.hutools,.xxx之类的错误

问题原因:

JustAuth中使用了Hutool(v4.1.21),如果项目中引用了低于v4.1.21版本的Hutool,就会抛出这个异常。

解决办法:

  1. 保持项目内的Hutool和JustAuth的Hutool版本一致
  2. 去掉项目内的Hutool,使用JustAuth中的Hutool
  3. 使用<exclusion>去掉JustAuth中的Hutool依赖