我有一个让我发疯的问题.我正在尝试修改openid-selector以支持facebook.我正在使用RPXNow作为我的提供者,因此它要求将表单提交给与标准不同的URL.
例如.RpxNow要求我像这样设置我的表单:
<form action="https://wikipediamaze.rpxnow.com/openid/start?token_url=...">
这适用于除Facebook和Myspace之外的所有提供商.那些需要将表单发布到不同的URL,如下所示:
<form action="https://wikipediamaze.rpxnow.com/facebook/start?token_url=...">
和
<form action="https://wikipediamaze.rpxnow.com/myspace/start?token_url=...">
open id选择器在表单上有一堆按钮,每个按钮代表openid提供程序.我要做的是检测点击Facebook或Myspace按钮的时间,并在提交前更改表单上的操作.然而,它不起作用.这是我的代码.
我尝试了几种具有相同"不支持"异常的变体
$("#openid_form").attr("action", form_url)
document.forms[0].action = form_url
Run Code Online (Sandbox Code Playgroud)
有什么建议?
更新
以下是有关代码的更多详细信息.为简洁起见,我省略了一些.我唯一做的是将Facebook部分添加到"providers_large"对象(成功地将徽标添加到网站),而不是提供识别用户的URL,我正在创建一个名为"form_url"的属性,是我想要设置我的表单的动作.如果您查看标题"提供者图像点击",您将看到我在哪里检查属性"form_url"的存在,并使用jQuery更改操作并提交表单.但是,当我在调试模式中单步执行JavaScript时,它告诉我这是一个无效的操作.
var providers_large = {
google: {
name: 'Google',
url: 'https://www.google.com/accounts/o8/id'
},
facebook: {
name: 'Facebook',
form_url: 'http://wikipediamaze.rpxnow.com/facebook/start?token_url=http://www.wikipediamaze.com/Accounts/Logon'
},
};
var providers_small = {
myopenid: {
name: 'MyOpenID',
label: 'Enter your MyOpenID username.',
url: 'http://{username}.myopenid.com/'
},
livejournal: {
name: 'LiveJournal',
label: 'Enter your Livejournal username.',
url: 'http://{username}.livejournal.com/'
},
flickr: {
name: 'Flickr',
label: 'Enter your Flickr username.',
url: 'http://flickr.com/{username}/'
}, …Run Code Online (Sandbox Code Playgroud) 我想在Yii中使用OpenID支持.
在研究了可能的插件之后,我找到了这两个插件.一个用于OpenidSelector,另一个用于LightOpenId
http://www.yiiframework.com/extension/simpleopenidselector/
http://www.yiiframework.com/extension/loid
这些是在Yii中用于OpenId支持的正确扩展吗?还要别的吗?如果这些扩展是正确的,我想了解如何处理这些扩展.
这是我认为我需要按照页面上的说明安装它们.
然后我有点迷失,因为我不理解Loid中的Usage样本,我不知道如何做(1)和(3).
如果我走在正确的轨道上并且可能提供一些指导,请告诉我.谢谢.
在Javascript中实现了几个OpenID库(如openid-realselector,openid-selector,jquery.opendid).这一切如何运作?他们只提供并调用OpenID提供程序,然后提供程序提供一些数据(如何?)并重定向回我的网站(到底在哪里?)?现在是我在服务器端以某种方式获取数据并使用它来登录我的用户?我查看了openid-selector的代码,但是没有看到在哪里提供回调网址到我的网站.所以我不确定上述情况是否真的是这一切的方式.
可能重复:
我在哪里可以找到OpenID提供商URL列表?
我正在为我的网站创建一个openid身份验证代码.我需要显示用户可以选择的URL列表(谷歌,雅虎等).我找不到这些其他网站的所有开放ID网址.某个地方有名单吗?
我知道谷歌是https://www.google.com/accounts/o8/id.是否有列表显示主要的openid提供商及其URL?
我已将simpleopenidselector和lightopenid添加到我的Yii Web应用程序中,它会对用户进行身份验证,并返回带有openid数据的URL.下一步是使用OpenID提供程序中的数据在Yii中创建新标识以登录用户.如何用Yii完成?
另外,我认为我需要创建一个openid表来存储openid,还需要将用户添加到我的用户表中.如果用户已拥有帐户,则将openid添加到其用户帐户以防止多个帐户.
有没有人用Yii实现这一切?如果是这样,我会对它是如何完成感兴趣.
任何人都有一个使用未绑定的可发现URL的直接OpenID提供商列表?
到目前为止,我只发现了这些:myopenid,yahoo,Hyves,myspace,myid.net,google,yahoo japan,AOL,Verisign.