我正在尝试使用 GraphCool 实现 GitHub 登录。至今:
脚步
- 我跑过:
graphcool add-template auth/github - 我取消注释
graphcool.yml和typs.graphql文件中的链接 - 我设置了一个 GitHub OAuth 应用程序
- 我将我的客户端名称和密码添加到本地环境变量中。
- 我跑了
graphcool deploy
结果
在功能下它说我有loggedInUser和githubAuthentication。我似乎也添加了一个 githubUserIdcreateUser
问题
从这里我被困住了。我不知道该怎么办。我不确定从哪里获得 github 代码。我之前直接通过他们的 API 和 Firebase 使用 Github 实现了 OAuth。我有以下问题:
在 Github 中,我应该如何设置授权回调 URL?那不需要指向graphcool吗?
如何启动 OAuth 弹出窗口以便我可以批准我的应用程序?
如何获取 Github 用户数据,如
displayName和photoUrl. 我可以在createUser运行时将该数据添加到新用户吗?
过去,我已将用户名密码模板修改为带有附加字段的 createUsers。我知道我必须修改模板中的类型和 .ts 文件。似乎我可以在githubAuthentication.ts文件的第 29 行附近获得特定的用户详细信息:
const graphcool = fromEvent(event)
const api = graphcool.api('simple/v1')
const { githubCode } = event.data
const githubToken: string = await getGithubToken(githubCode)
const githubUser = await getGithubUser(githubToken)
const user: User = await getGraphcoolUser(api, githubUser.id)
.then(r => r.User)
let userId: string | null = null