Overview

-- Owerview --

SocialAuth is plugin for CakePHP, allows you to make the authentication of users on the site through social networks.
Authorization is available through: vkontakte.ru, facebook.com, my.mail.ru, twitter.com, yandex.ru, google.com
The plugin is made as widget with authorization buttons.

-- Installation --

1) Download and unzip the archive
2) Copy the contents into the folder app/plugins/social_auth
3) Create a file social_auth.php in the folder app/config/ or copy and rename example from app/plugins/social_auth/config/social_auth.php.example.

You need to fill the file social_auth.php:

	$config = array(
	  'FB' => array(
			'appId' => 'facebook application id',
	  ),
	  'VK' => array(
			'appId' => 'vkontakte application id',
	  ),
	  'MoiMir' => array(
			'appId'  => 'moimir application id',
		'apiKey' => 'moimir api key',
	  ),
	  'Twitter' => array(
		'apiKey' => 'twitter api key',
	  ),
	  'YaRu' => array(
		'apiKey' => 'yandex api key',
	  )
	);

Also you need to register your application in each of the social networks.
It can be done by following these links:

        FB - http://www.facebook.com/developers/createapp.php
        VK - http://vkontakte.ru/editapp?act=create
        MoiMir - http://api.mail.ru/sites/my/add/
        Twitter - http://twitter.com/apps/new
        YaRu - https://oauth.yandex.ru/client/new
        Google - https://www.google.com/accounts/ManageDomains


-- Usage --

To start using the plugin you need to add helper into helpers array in controller class.
       
	var $helpers = array('SocialAuth.SocialAuth'[=>(array)options]);

To display the login box you need to add the following code

	echo $this->SocialAuth->display((array)types], [(array)options]);

Result

	<div id="root_id" class="root_class">
	 <button id="fb_id" class="class" onclick="fbLogin()">
	  <img src="facebook.png" alt="Facebook" />
	 </button>
	 <button id="vk_id" class="class" onclick="VK.Auth.login(authInfo);">
	  <img src="vkontakte.png" alt="Vkontakte" />
	 </button>
	 <button id="mm_id" class="class" onclick="mmLogin()">
	   <img src="mailru.png" alt="MoiMir" />
	 </button>
	 <button id="ya_id" class="class" onclick="yaLogin()">
	   <img src="yandex.png" alt="Yandex" />
	 </button>
	 <button id="tw_id" class="class">
	   <img src="twitter.png" alt="Twitter" />
	 </button>
	 <button id="google_id" class="class" onclick="googLogin()">
	   <img src="google.png" alt="Google" />
	 </button>
	</div>


Design of the widget can be changed with css.
Options array:

        Container's options:
        * root_id - button's container's id (default: social_auth)
        * root_class - button's container's class (default: social_auth_panel)
        * root_element - button's container's html element  (default: div)
        
        Buttons' options:
        * element - button's html element (it is common for all the buttons, default: button)
        * class - button's class (it is common for all the buttons, default: social_button)
        * vk_id - button's id vkontakte.ru
        * fb_id - button's id facebook.com
        * mm_id - button's id my.mail.ru
        * tw_id - button's id twitter.com
        * google_id - button's id google.com
        * ya_id - button's id yandex.ru

-- Methods --

display([(array)types], [(array)options])
	function show the login box.
Parameters:
	types – array with label of social network buttons. May be: FB, VK, MoiMir, YaRu, Twitter, Google
	options – it's have the same options that the accepts constructor of plugin (see above)

-- Example --

app/app_controller.php

	class AppController extends Controller {
		var $helpers = array(
			'SocialAuth.SocialAuth' => array('id' => 'social_auth', 'element' => 'button'),
			'Session'
		);
	}
template file:

	echo $this->SocialAuth->display();

-- Описание --

SocialAuth это плагин для CakePHP позволяющий сделать авторизацию пользователей на сайте через соц. сети.
Авторизация возможна через: vkontakte.ru, facebook.com, my.mail.ru, twitter.com, yandex.ru, google.com
Плагин представляет из себя виджет с кнопками авторизации.

-- Установка --

1) Скачать и распаковать архив
2) Поместить содержимое в папку app/plugins/social_auth
3) Создать в папке app/config/ файл social_auth.php или скопировать и переименовать пример /social_auth/config/social_auth.php.example.

Далее нужно заполнить файл social_auth.php:

	$config = array(
	  'FB' => array(
			'appId' => 'facebook application id',
	  ),
	  'VK' => array(
			'appId' => 'vkontakte application id',
	  ),
	  'MoiMir' => array(
			'appId'  => 'moimir application id',
		'apiKey' => 'moimir api key',
	  ),
	  'Twitter' => array(
		'apiKey' => 'twitter api key',
	  ),
	  'YaRu' => array(
		'apiKey' => 'yandex api key',
	  )
	);

Так же вам необходимо зарегистрировать ваше приложение в каждой из соц. сетей.
Сделать это можно по следующим ссылкам:

        FB - http://www.facebook.com/developers/createapp.php
        VK - http://vkontakte.ru/editapp?act=create
        MoiMir - http://api.mail.ru/sites/my/add/
        Twitter - http://twitter.com/apps/new
        YaRu - https://oauth.yandex.ru/client/new
        Google - https://www.google.com/accounts/ManageDomains

-- Использование --

Для начала использования плагина нужно подключить помошника.

	var $helpers = array('SocialAuth.SocialAuth'[=>(array)options]);

Далее в нужном месте страницы выводим блок авторизации.

	echo $this->SocialAuth->display([(array)types], [(array)options]);

Результат выполнения кода:

	<div id="root_id" class="root_class">
	 <button id="fb_id" class="class" onclick="fbLogin()">
	  <img src="facebook.png" alt="Facebook" />
	 </button>
	 <button id="vk_id" class="class" onclick="VK.Auth.login(authInfo);">
	  <img src="vkontakte.png" alt="Vkontakte" />
	 </button>
	 <button id="mm_id" class="class" onclick="mmLogin()">
	   <img src="mailru.png" alt="MoiMir" />
	 </button>
	 <button id="ya_id" class="class" onclick="yaLogin()">
	   <img src="yandex.png" alt="Yandex" />
	 </button>
	 <button id="tw_id" class="class">
	   <img src="twitter.png" alt="Twitter" />
	 </button>
	 <button id="google_id" class="class" onclick="googLogin()">
	   <img src="google.png" alt="Google" />
	 </button>
	</div>


Дизайн виджета можно изменить с помощью css.

Параметры принимаемые плагином(options)
	Параметры контейнера:
	* root_id - id html элемента контейнера кнопок (по умолчанию: social_auth)
	* root_class - класс контейнера кнопок (по умолчанию: social_auth_panel)
	* root_element - html элемент контейнера кнопок (по умолчанию: div)
	Параметры кнопок:
	* element - html элемент кнопки (общий для всех кнопок, по умолчанию: button)
	* class - класс кнопок (общий для всех кнопок, по умолчанию: social_button)
	* vk_id - id html элемента кнопки авторизации через vkontakte.ru
	* fb_id - id html элемента кнопки авторизации через facebook.com
	* mm_id - id html элемента кнопки авторизации через my.mail.ru
	* tw_id - id html элемента кнопки авторизации через twitter.com
	* google_id - id html элемента кнопки авторизации через google.com
	* ya_id - id html элемента кнопки авторизации через yandex.ru

-- Методы --

display([(array)types], [(array)options])
 Функция выводит блок авторизации.
Параметры:
	types – массив с названиями соц. сетей кнопки которых нужно выводить. Может быть: FB, VK, MoiMir, YaRu, Twitter, Google
	options – теже опции которые принимает конструктор плагина(см. выше)

-- Пример --

	class AppController extends Controller {
		var $helpers = array(
			'SocialAuth.SocialAuth' => array('id' => 'social_auth', 'element' => 'button'),
			'Session'
		);
	}
template file:
	echo $this->SocialAuth->display();