Aid*_*tis 4 usability user-interface facebook
我需要实现facebook-connect到用户已经拥有内部帐户的网站.如果内部帐户不存在,则应从facebook凭据创建.此外,应该可以将现有帐户链接到Facebook帐户.技术实现对我来说很清楚,但我对一个实用,最佳且易于理解的用户活动工作流程更感兴趣.
1)我最初的想法是有一个登录表单,其中包含用户和密码字段以及两个按钮:"connect with facebook"和"login".如果按"登录",内部帐户通常会登录.如果按下"连接Facebook",用户连接到Facebook,然后根据用户和密码的状态,我可以检索内部用户并绑定它与Facebook用户,或创建一个新的内部用户并将其绑定到Facebook用户,或检索绑定到Facebook用户的内部用户.但是,我在工作流程中看到了一些问题.如果输入的用户和密码与绑定到Facebook帐户的用户和密码的内部用户不同,该怎么办?
我将尝试用伪代码来说明问题:
if "login" is pressed:
internal_user = authenticate(username, password)
if "connect to facebook" is pressed:
facebook_user = get_facebook_user()
if username and password are filled in:
internal_user = authenticate(username, password)
if facebook_user has no internal_user:
facebook_user.bind_internal_user(internal_user)
else:
# conflict! what to do with it?
# facebook_user.get_internal_user() != internal_user
else:
if facebook_user has internal_user:
internal_user = facebook_user.get_internal_user()
else:
internal_user = facebook_user.create_internal_user()
internal_user.login()
Run Code Online (Sandbox Code Playgroud)
此外,如果用户需要输入Facebook用户名和密码或网站的用户名和密码,用户可能会感到困惑.
2)另一种选择可能是登录表格,连接到Facebook,以及注册表格作为三个不同的选项,连接到Facebook将获得或创建一个内部帐户; 然后是一个单独的可选表单,用于登录用户绑定他们的Facebook帐户.但是,再次有可能留下来创建一个重复的内部帐户.
处理这个问题的最佳做法是什么?其他网站主要使用的是什么?
登录表格:
[username] |
[password] | or [fbconnect button] with facebook
[ok] |
Run Code Online (Sandbox Code Playgroud)
(两个互斥的部分"或者",如果你使用facebook,你不需要填写登录表格)
一旦用户与FB连接并且您没有此uid的关联用户帐户,则弹出另一个表单:
Welcome,
Please choose username for this site:
[username] [ok]
(you can prompt to select a password as well if you want)
----------------------------------------------------
If you already have an account on our site please enter your credentials:
[username]
[password]
[ok]
Run Code Online (Sandbox Code Playgroud)
在这一步之后你应该被覆盖 - 无论他们选择哪种方式,结果应该是相同的.
通常你在登录时不提示Facebook连接用户的密码,他们只是使用facebook连接按钮,所以随机生成的密码就行了.如果你想创建可以在没有facebook的情况下使用的全规模帐户,那么你提示输入密码(但是仍然不要用它来登录facebook).
| 归档时间: |
|
| 查看次数: |
1457 次 |
| 最近记录: |