arckinteractive/elgg_hybridauth

Elgg 的 HybridAuth 集成

2.1.0 2017-09-12 08:39 UTC

This package is auto-updated.

Last update: 2024-08-23 05:04:49 UTC


README

Elgg 2.3

elgg_hybridauth 是一个身份验证工具,允许用户使用社交媒体账户创建新的 Elgg 账户。

默认包含的提供者

  • AOL
  • Facebook
  • Foursquare
  • Google
  • LinkedIn
  • Live
  • MySpace
  • OpenID
  • Twitter
  • Yahoo

访问 http://hybridauth.sourceforge.net/ 了解有关 HybridAuth 库的更多信息以及可以添加到此分发的附加提供者。

功能

  • 允许单个 Elgg 个人资料连接到多个提供者账户
  • 遵循 Elgg 的原生注册工作流程
  • 允许用户在其账户设置中授权/取消授权提供者
  • 可选地,允许管理员从 elgg_social_login 和 social_connect 导入用户设置
  • 为每个提供者提供配置权限范围的接口

升级

  • 在升级时,首先禁用插件,上传更新的插件文件,然后重新启用以使更新设置生效

提供者设置

设置 Facebook

设置 Twitter

设置 Google

设置LinkedIn

  • 访问 https://www.linkedin.com/secure/developer
  • 创建新应用

    在OAuth用户协议中,根据您的需求更新默认权限范围。如果您不确定,请检查r_basicprofile、r_emailaddress、rw_nus和r_network。您不需要填写重定向URL

  • 将API密钥复制到插件设置中的公钥字段
  • 将密钥复制到插件设置中的私钥字段

设置Yahoo!

设置实时

设置FourSquare

开发者备注

从1.1.1版本开始,您可以使用 'hybridauth:authenticate', $provider 插件钩子来执行一些操作,当用户使用提供商进行身份验证时。这可能是一个将内容发布到用户墙或抓取用户头像的好地方。

如何将用户加入本网站的示例发布到用户的墙上的示例

// do stuff when the user is authenticated with one of the providers
elgg_register_plugin_hook_handler('hybridauth:authenticate', 'all', 'elgg_hybridauth_on_authenticate');

function elgg_hybridauth_on_authenticate($hook, $provider, $return, $params) {

	$user = elgg_extract('entity', $params);

	try {
		$ha = new ElggHybridAuth();
		$adapter = $ha->getAdapter($provider);
		if ($adapter->isUserConnected()) {
			$status = $user->name . ' just joined ' . elgg_get_config('sitename') . ' at ' . elgg_get_site_url();
			$adapter->setUserStatus($status);
		}
	} catch (Exception $e) {
		// Something is wrong
	}
}

升级

到1.3

  • 出于性能原因,HYBRIDAUTH_PUBLIC_AUTH不再定义。需要调用 elgg_get_plugin_setting('public_auth', 'elgg_hybridauth')

  • base_urldebug_file不再通过插件设置设置。它们使用当前安装路径和wwwroot动态设置。

  • 由于LinkedIn权限范围的最近更改,HybridAuth产生了不可靠的结果。出于稳定性的考虑,用自定义实现替换了HA LinkedIn类和LinkedIn包装器。 https://developer.linkedin.com/support/developer-program-transition