我使用 node.js + express.js 堆栈,用户可以使用twitter和facebook进行reigster / login,也可以使用我的本机注册表注册。我使用Everyauth处理Twee和Fb。
问题是: 是否有一个简单的解决方案来注册用户使用第三方oauth服务,同时允许他们更改用户名?
例如: 用户首次使用Twitter登录网站 - >他得到了表格,他添加了 CUSTOM USERNAME和电子邮件。
当他下次登录时我需要登录他的 CUSTOM USERNAME ,而不是他的推特。
答案 0 :(得分:0)
是的,这是可能的。首次登录尝试时,您使用node-oauth
模块通过Twitter对用户进行身份验证。这是一个tutorial。身份验证过程完成后,twitter会在其结果中发送一个唯一ID,您可以使用oauth令牌和秘密(如果有)存储在您的数据库中。同时在Session中保存这些数据并显示一个表单,要求用户选择其愿望的用户名。使用它并存储在DB中。
下次,当他再次尝试进行身份验证时,您只需检查数据库中存储的唯一ID(实际上不是用户名)。