2009-02-21 113 views
3

我正在使用OpenID身份验证与我的网站上的传统注册/登录身份验证一起使用。当有人第一次使用OpenID登录时,我希望能够提取用户在网站上使用的用户名。从OpenID身份提取用户名

这很容易对一些OpenID的标识符 - 例如:

http://username.myopenid.com/ 
http://username.livejournal.com/ 
http://claimid.com/username 

然而,这并不总是基本上可以作为一个OpenID的情况下,任何URL。

一个选项是维护上面的URL格式列表,其中我知道我可以提取用户名 - 并在其他情况下自动分配用户名(可以在登录后更改)。是否有其他更灵活的方式提取用户名?

回答

2

OpenID有一个API用于获取用户信息,如姓名,电子邮件等。如果用户允许您访问它,我只需使用该名称即可。

1

由于OpenID是一种身份验证,在OpenID身份验证站点之外没有用户名/密码的情况下使用,但仅使用该URL,本身不可能提取唯一的用户名。

我认为,如果猜测是不可能的(例如,谷歌)是最好的,你可以从url中猜出一个用户名或自动分配一个用户名。抱歉。