新手问题 如何为通过第三方登录的用户自动注册本地帐号 ?

gihnius · 2013年10月14日 · 最后由 Peter 回复于 2013年10月14日 · 10397 次阅读

网站支持通过第三方登录,比如 QQ, Weibo, Github, Google+

在认证后为用户注册本地帐号,纠结怎么定用户名 ?

  • 直接使用用户的第三方用户名: 因为用户的第三方帐号名可能跟本地用户名冲突。

  • 使用随机用户名: 可能惹用户不喜欢。

  • 通过第三方登录后让用户设置: 这跟让用户直接注册麻烦不相上下吧。

想了解下大伙怎么做 ?

用户名这玩意儿根本就是昵称的意思

如果用户足够多,能够产生冲突的话,请采用第三个。建议:

  • 你可以仅让 用户设置 用户名 即可,不用其它信息。如注册时的密码,然而,每次登录只能通过第三方;

或者你,可以在后台唯一性上用联合字段:username + from。有点像虎嗅的评论一样,它会显示来看哪个微博的评论,但不知道虎嗅的处理是不是这样子。

我用第三方的账号登陆创建一个用户并关联起来,但是没有用户名,给用户一个后台(或者直接提示他)补充他想用的用户名。

你要知道你要的是什么。

  1. 如果只是让用户登录,用户之间不存在互动,那这个用户名就只有用户自己看到,这可以让他注册后自己改。

  2. 如果最后还得用 username,那用户名就要 unique,所以注册的时候用户输入一个,或者自动分配一个 QQ username + QQ 域名,这样不会有冲突,用户最后可以到后台改,缺点是每次都要从别人那登录,如果哪个服务商那出问题,用户在你这就不能登录了。

  3. 如果你只是想通过 OAuth 确定注册的不是一个机器人,最好还是在用户转回网站的第一步就让用户设置用户名和密码。这时候你要注意,像 sina 这样的,不会给你用户的 email,你还得让用户输入 email,还得验证,不然你不可能给用户发邮件。虽然看起来更麻烦,但用户开始不知道,一旦到了注册页面,心想已经做了这么多,就多做一步吧,这就是门槛效应。


你说的第三种跟我说的第三种不太一样,你那种让用户登录后去改的方式一般风险很大,用户是最懒的,根本不会理你,最好是不设置用户名和密码就不让登录。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号