我正在构建一个使用Github OAuth的应用,该应用使用了授权流程。这是我第一次实现OAuth,因此我想确保自己做的一切正确。我在想像这样的东西:
用户单击Continue with Github
。我们称呼GH网址,并提供一个前端应用重定向uri。该应用程序接受code
并将其发送到服务器。它将它交换为访问令牌,然后从API获取用户,获取ID并检查数据库中是否存在该ID。如果是这样,它将创建一个JWT令牌,并发送类似[token
,...
]的响应。
我希望是这样。
问题是如果用户不存在该怎么办。在这种情况下,我还想向用户询问我的应用程序中的用户名(以及接受ToS等)。因此,我有两种选择:发回代码或发送访问令牌。
如果我发送代码,则用户填写用户名后,服务器将再次查询访问令牌。对我来说似乎是重复的。
但是,由于访问令牌是我的应用程序密码的功能,因此我很犹豫将它放在客户端上。尽管这些使我信服:
store
是安全的,因为,这是应用的状态那么什么是最佳实践?干杯!
答案 0 :(得分:1)
不确定GitHub的详细信息-但一般的Self Sign Up行为是GitHub可以为您管理的。登录后,您的应用程序将收到带有新用户ID的令牌。然后,您还需要在应用的后端创建该用户。我的文章可能会有所帮助-但这很棘手:https://authguidance.com/2017/10/02/user-data/