繁体   English   中英

Openid注册表格流程指南

[英]Guidance on flow for Openid registration form

我想使用OpenId进行网站登录,但是要进行注册,我的网站需要其他信息(用户名和电子邮件地址以及其他信息),这些信息并不总是从OpenId提供程序返回。 如我所见,我有两个主要选择:

(1)首先,询问OpenId URL,通过OpenId提供程序进行重定向和验证,然后返回我的站点并输入其他信息。 如果我从OpenId提供程序返回了信息,那么这可以让我预填充第二种形式,这是一个加号,但否定的内容包括将提供程序返回的标识符存储在哪里**,并且具有多阶段注册过程,这可能会引起争议。

(2)一个表单,显示我需要的所有信息,包括OpenId提供程序Url。 提交后,将信息保存在数据库中,重定向到OpenId,进行验证,并在从提供者返回时更新数据库记录以包括标识符。 这比较简单,但意味着在身份验证之前填写表单时,我永远不会使用OpenId提供程序返回的任何其他信息。

我真的只是对最佳方法有一些想法/想法吗? 如果这有任何区别,我将DotNetOpenAuth与ASP.NET MVC 3一起使用。

**这是秘密,因为它无法发送给客户端,因此必须保存在服务器上。 无法放入注册数据库表,因为在此阶段我没有任何其他非空字段。 不允许使用会话,那么该放在哪里?

获得两全其美!

请查看此示例该示例演示了一种仅带有OpenID和电子邮件地址的表格(您可以想象任意数量的其他字段)。 输入标识符(第一个)后,您的站点将在用户立即输入其更多详细信息时立即在后台开始OpenID发现过程。 对于新用户,这可能不会导致完整的详细信息登录,因此用户单击按钮进行身份验证,完成后将填充OP自动提供的详细信息。 然后,用户可以根据需要更改它们,最后单击“立即创建帐户”按钮。

我自己经历了这个问题,我选择了选项(1)—进行OpenId舞蹈,从提供者那里获取任何可用字段,然后要求用户填写空白。

是的,这是多个步骤,但我认为总体来说,这对用户来说工作量较小; 他们不需要输入其OpenId提供程序可能提供的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM