如何进行类似于Stackoverflow的“添加更多登录名”?


15

我正在使用OpenID选择器模块将OpenID登录信息集成到我的网站;Stackoverflow用于登录/注册的相同服务。但是,如何为Stackoverflow之类的“添加更多登录名”添加选项?我也乐于接受建议。

这样做的目的是防止重复用户。我正在使用D7。

见所附图片。

也欢迎进行一些调整。 在此处输入图片说明


2
如果没有有效的模块,我愿意提出建议,并且我有一个完善的逻辑。我保证您肯定会在drupal.org中托管一个D7模块。
niksmac 2012年

完成一天的无活动,我很失望。这在Stackoverflow中是难得的事情。!!
niksmac 2012年

我知道有集成多个登录名的Janrain模块,但是我完全不知道它们如何或什至不能处理重复项。
stefgosselin 2012年

@NikhilM您是否为此放置沙盒项目?我很乐意评论:-)
AjitS 2012年

@indrock,不幸的是我的客户放弃了这个概念。我打算做类似的事情,但不是最近。我很忙
niksmac 2012年

Answers:


9

因此,大多数Drupal模块采用身份验证的默认假设是它们将用自己的模块替换当前的登录设置。

http://drupal.org/node/114774#dist-auth中已经很好地描述了这种方法,并且可以从Drupal核心中提供的当前openid模块的工作方式中看到。

如果我正确理解了您的问题,则希望为人们提供一种从多个不同来源进行身份验证的方法,并使这些启用的来源显示在其用户个人资料下。我认为还没有一个模块可以执行此操作,因为大多数auth模块如上所述都在自己的小气泡中运行。

快速浏览OpenID Selector之后,您将不会从那里获得很多帮助,它主要用于实现和配置jquery库。您将需要从头开始编写。

模块的主要部分将是:

  1. 一个数据库表,用于维护与给定用户相关联的登录名。
  2. 用于登录页面的某种form_alter方案,以显示网站所有者指定的所有可用登录选项(这将替换当前各个模块的操作)
  3. 网站所有者的管理页面,可从可用选项中进行选择。

这些登录选项中的每个登录选项可能都将由一个单独的contrib模块提供,因此您可能必须针对这些模块中的实现细节更改逻辑。

对我来说,这是您计划发布的可配置模块的一项雄心勃勃的工作,但是,如果您为单个站点采用快速而又肮脏的高度自定义/硬编码的路线,那不会花费您太多时间。

其他有关在auth模块如何在Drupal中运行以及可能希望包括的来源的地方都可以找到灵感的FBOauthTwitter


感谢您提供如此详细的答案。反正我需要它。因此,至少自己动手做,对我有帮助。
niksmac 2012年

8

HybridAuth社交登录是否不符合您的要求?

该模块将HybridAuth库集成到Drupal中,并允许您的用户使用Google,Facebook,Twitter,Yahoo,MySpace,Windows Live,LinkedIn,Foursquare,AOL,OpenID等进行登录和注册。其他提供商包括:Github,Gowalla,LastFM,Vimeo,Disqus,Instagram,Viadeo,Identica,Tumblr,Goodreads,QQ,新浪,Murmur,Pixnet,Plurk,Skyrock,500px,Vkontakte,Mail.ru,Yandex,Odnoklassniki。

我自己没有使用过它,但是阅读说明和屏幕截图似乎表明它可以满足您的需求。

更新:查看使用情况统计信息,似乎该模块是最近才拿起的,当您发布此问题时可能无法使用。


如果此模块运行良好...似乎是这样...您为我节省了大约20或40个小时的工作时间,谢谢!
Beto Aveiga 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.