OpenID需要和常规的用户名和密码在绝大部分的网站上共存一段时间。所以,作为程序员的我们需要设计一些很好的惯例来处理这种两种模式并存的状况。要做到这点,如果我们能有效区分OpenID和常规的用户名会有很大的帮助。
考虑下面这个流程:
<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 300pt; HEIGHT: 107.25pt" type="#_x0000_t75"><imagedata src="file:///C:%5CDOCUME~1%5CZHILEI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.gif" o:title="openid-as-username"></imagedata><lock v:ext="edit" cropping="t"></lock></shape>
如果OpenID能和常规的用户名区分开的话,你就不需要加上一个额外的密码输入框来让登录或者登记变的更加复杂。
看起来已经有的网站支持让OpenID以完整的URL模式输入,而不是仅仅是用户名。Zoomr和Jyte都明确鼓励/要求完整的URL模式的OpenID的使用。
<shape id="_x0000_i1026" style="WIDTH: 291.75pt; HEIGHT: 194.25pt" type="#_x0000_t75"><imagedata src="file:///C:%5CDOCUME~1%5CZHILEI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image002.png" o:title="zoomr-openid"><font size="3"></font></imagedata></shape>
<shape id="_x0000_i1027" style="WIDTH: 350.25pt; HEIGHT: 209.25pt" type="#_x0000_t75"><imagedata src="file:///C:%5CDOCUME~1%5CZHILEI~1%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image004.png" o:title="jyte-openid"><font size="3"></font></imagedata></shape>
但是实际使用中肯定有用户名模式的OpenID的例子。所以上述两种方法没有一种被作为实际使用的标准。我推荐我们都采用完整的URL的模式。如果你的网站只接纳OpenID,那你还是应该通过让登录帐号类似http://[input field]来强制这个想法。