我正在研究Drupal 6模块,以提供基于OAuth的用户身份验证和注册。我已经使用OAuth模块进行身份验证,如http://oauth.net/core/1.0a/#anchor9所述。下一步是使用服务提供商的自定义API使用身份验证后提供的信息创建用户帐户。
根据http://drupal.org/node/497612#comment-3047302,我不应该使用user_external_login_register()
,但请参阅OpenID模块,了解如何正确登录外部用户。
在研究OpenID模块之后,我打算这样做:
user_external_load()
从自定义API结果加载authname版本的现有用户。user_external_login()
将用户登录。openid_authentication()
那样)来创建新的用户帐户。如果需要任何其他信息以便用户注册,则重定向到预填表格。这是正确的方法吗?除了OpenID之外,还有另一个值得关注的模块吗?
答案 0 :(得分:0)
您可以查看以前的Drupal模块。那个模块做了两件完全不同的事情(对于架构来说很有道理:))。 *它向中央“谁运行Drupal”目录创建信息。 (并提供了一个页面来自己显示这样的目录!) *它允许使用其他Drupal站点的凭据登录。
后者就是你要找的。请注意,该模块已停止使用,不是因为登录方法错误,而是因为DrupalID机制本身存在缺陷。它已被openID和oauth取代。
http://drupalcode.org/viewvc/drupal/drupal/modules/drupal/drupal.module?hideattic=0&view=markup
您要查找的钩子和方法(按此顺序)是:
所有其他函数都是这些函数的辅助函数,或提供该目录功能,或允许远程站点对我们的数据库进行身份验证。你将不会使用它们。