本节登录问题:所有用户都是同一个条数据。原因如下:

来源:4-18 Github+Oauth2.0实现三方登录-2

su1per

2022-06-14

因为user_auth表的identifier 字段是存的 githubClientID。而这个id是跟系统走的。所以不管谁进来,都只对应同一条数据。

应该修改为 github回调的id。
如下

  console.log("第三步:获取用户信息:", githubUserInfo);
  const { id: github_id, login = "", avatar_url = "" } = githubUserInfo as any;

  const cookies = Cookie.fromApiRoute(req, res);
  const db = await prepareConnection();
  const userAuth = await db.getRepository(UserAuth).findOne(
    {
      identity_type: "github",
      identifier: github_id,
    },
    {
      relations: ["user"],
    }
  );

同理 创建用户的时候也应该 改为 github_id;

  userAuth.identifier = github_id;
写回答

2回答

Aioros2017

2023-04-20

没问题

0
1
Tomas
感谢同学的回复
2023-04-22
共1条回复

Tomas

2022-06-18

感谢同学的回答哈,我找时间改一下代码,后续其他同学这块也可以参考下这个回答哈

0
0

Next.js+React+Node系统实战,搞定SSR服务器渲染

Next.js+React+Node系统实战,搞定SSR服务器渲染

421 学习 · 144 问题

查看课程