SocialAuther - ΡΡΠΎ PHP Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ°ΠΉΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠΈ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΡ:
ΠΠ°ΠΌΠ΅ΡΠΊΠ°: Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°
ΠΠ°ΠΌΠ΅ΡΠΊΠ°: Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΡΠΈΠΊ ΠΊΠ»Π°ΡΡΠΎΠ² require_once 'lib/SocialAuther/autoload.php';
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠΡΠ»ΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄Π΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ $vkAdapter->getAuthUrl(), Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ²Π΅ΡΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ± ΡΠ΅Π½ΠΈΠ΅ {"error":"invalid_request","error_description":"Security Error"}
, ΡΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π²Π°ΡΠ΅Π³ΠΎ vk Π°ΠΊΠΊΠ°ΡΠ½ΡΠ°. Π ΡΠ°Π·Π΄Π΅Π»Π΅ "ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΠ°ΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ" Π½Π°ΠΆΠΌΠΈΡΠ΅ ΡΡΡΠ»ΠΊΡ "ΠΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΈΡΡΠΎΡΠΈΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ". Π ΠΎΡΠΊΡΡΠ²ΡΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Π½Π°ΠΆΠΌΠΈΡΠ΅ "ΠΠ°Π²Π΅ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠ΅Π°Π½ΡΡ", Π΄Π»Ρ ΠΎΡΠΈΡΡΠΊΠΈ vk ΠΊΡΡΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° security_error
Π±ΡΠ΄Π΅Ρ ΡΡΡΡΠ°Π½Π΅Π½Π°.
ΠΠ»Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡ ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: client_id
, client_secret
ΠΈ redirect_uri
:
- Π¨Π°Π³ 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- Π½Π°Π·Π²Π°Π½ΠΈΠ΅: "SocialAuther Test"
- ΡΠΈΠΏ: "ΠΠ΅Π±-ΡΠ°ΠΉΡ"
- Π¨Π°Π³ 2. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΠ΅ΠΊΡΠΈΠΈ "Open API":
- Π°Π΄ΡΠ΅Ρ ΡΠ°ΠΉΡΠ°:
http://localhost/auth?provider=vk
- Π±Π°Π·ΠΎΠ²ΡΠΉ Π΄ΠΎΠΌΠ΅Π½: "localhost"
- Π°Π΄ΡΠ΅Ρ ΡΠ°ΠΉΡΠ°:
- Π¨Π°Π³ 3. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
client_id
,client_secret
ΠΈredirect_uri
:client_id
- ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΠΎΠΏΡΠΈΠΈ "ID ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ". ΠΡΠΈΠΌΠ΅Ρ:3078654
client_secret
- ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΠΎΠΏΡΠΈΠΈ "ΠΠ°ΡΠΈΡΠ΅Π½Π½ΡΠΉ ΠΊΠ»ΡΡ". ΠΡΠΈΠΌΠ΅Ρ:zrCHcmKAcBvblSUIBIwu
redirect_uri
- ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΠΎΠΏΡΠΈΠΈ "ΠΠ΄ΡΠ΅Ρ ΡΠ°ΠΉΡΠ°". ΠΡΠΈΠΌΠ΅Ρ:http://localhost/auth?provider=vk
- Π¨Π°Π³ 4. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SocialAuther.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SocialAuther:
<?php
// ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π°Π΄Π°ΠΏΡΠ΅ΡΠ°
$vkAdapterConfig = array(
'client_id' => '3078654',
'client_secret' => 'zrCHcmKAcBvblSUIBIwu',
'redirect_uri' => 'http://localhost/auth?provider=vk'
);
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π΄Π°ΠΏΡΠ΅ΡΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π½Π°ΡΡΡΠΎΠ΅ΠΊ
$vkAdapter = new SocialAuther\Adapter\Vk($vkAdapterConfig);
// ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π°Π΄Π°ΠΏΡΠ΅ΡΠ° Π² SocialAuther
$auther = new SocialAuther\SocialAuther($vkAdapter);
// Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ Π²ΡΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄ ΡΡΡΠ»ΠΊΠΈ Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ
if (!isset($_GET['code'])) {
echo '<p><a href="' . $auther->getAuthUrl() . '">ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅</a></p>';
} else {
if ($auther->authenticate()) {
if (!is_null($auther->getSocialId()))
echo "Π‘ΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΉ ID ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialId() . '<br />';
if (!is_null($auther->getName()))
echo "ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getName() . '<br />';
if (!is_null($auther->getEmail()))
echo "Email ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getEmail() . '<br />';
if (!is_null($auther->getSocialPage()))
echo "Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialPage() . '<br />';
if (!is_null($auther->getSex()))
echo "ΠΠΎΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSex() . '<br />';
if (!is_null($auther->getBirthday()))
echo "ΠΠ΅Π½Ρ Π ΠΎΠΆΠ΄Π΅Π½ΠΈΡ: " . $auther->getBirthday() . '<br />';
// Π°Π²Π°ΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
if (!is_null($auther->getAvatar()))
echo '<img src="' . $auther->getAvatar() . '" />'; echo "<br />";
}
}
ΠΠ»Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΡ ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΡΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ: client_id
, client_secret
, redirect_uri
, public_key
:
- Π¨Π°Π³ 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ "ΠΠ½Π΅ ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΎΠ²"
- ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ "oAuth Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ"
- Π¨Π°Π³ 2. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- Π½Π°Π·Π²Π°Π½ΠΈΠ΅: "SocialAuther Test"
- shortname: _www.odnoklassniki.ru/game/auther
- ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:
http://localhost/auth?provider=odnoklassniki
- "Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ" ΠΈ "Π‘ΡΡΠ»ΠΊΠ° Π½Π° Π°Π²Π°ΡΠ°ΡΠΊΡ": ΡΡΡΠ»ΠΊΠ° Π½Π° Π»ΡΠ±ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
- Π¨Π°Π³ 3. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
client_id
,client_secret
,redirect_uri
,public_key
. ΠΡΡ Π½ΡΠΆΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²Ρ Π½Π°ΠΉΠ΄ΡΡΠ΅ Π² ΠΏΠΈΡΡΠΌΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π½Π° Π²Π°ΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΠΏΠΎΡΡΡ ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:client_id
- Application ID. ΠΡΠΈΠΌΠ΅Ρ:658606315
client_secret
- ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ:C35045020A8C7C066F25C4C7
redirect_uri
- ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠΈΠΌΠ΅Ρ:http://localhost/auth?provider=odnoklassniki
public_key
- ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ:BAMKABABACADCBBAB
- Π¨Π°Π³ 4. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SocialAuther.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SocialAuther:
<?php
$odnoklassnikiConfig = array(
'client_id' => '658606315',
'client_secret' => 'C35045020A8C7C066F25C4C7',
'redirect_uri' => 'http://localhost/auth?provider=odnoklassniki',
'public_key' => 'BAMKABABACADCBBAB'
);
$odnoklassnikiAdapter = new SocialAuther\Adapter\Odnoklassniki($odnoklassnikiConfig);
$auther = new SocialAuther\SocialAuther($odnoklassnikiAdapter);
if (!isset($_GET['code'])) {
echo '<p><a href="' . $auther->getAuthUrl() . '">ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΈ</a></p>';
} else {
if ($auther->authenticate()) {
if (!is_null($auther->getSocialId()))
echo "Π‘ΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΉ ID ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialId() . '<br />';
if (!is_null($auther->getName()))
echo "ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getName() . '<br />';
if (!is_null($auther->getEmail()))
echo "Email ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getEmail() . '<br />';
if (!is_null($auther->getSocialPage()))
echo "Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialPage() . '<br />';
if (!is_null($auther->getSex()))
echo "ΠΠΎΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSex() . '<br />';
if (!is_null($auther->getBirthday()))
echo "ΠΠ΅Π½Ρ Π ΠΎΠΆΠ΄Π΅Π½ΠΈΡ: " . $auther->getBirthday() . '<br />';
// Π°Π²Π°ΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
if (!is_null($auther->getAvatar()))
echo '<img src="' . $auther->getAvatar() . '" />'; echo "<br />";
}
}
- Π¨Π°Π³ 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- ΡΠΎΠ³Π»Π°ΡΠ°Π΅ΠΌΡΡ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ
- Π½Π°Π·Π²Π°Π½ΠΈΠ΅: "SocialAuther Test"
- Π°Π΄ΡΠ΅Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ:
http://localhost/auth?provider=mailru
- Π¨Π°Π³ 2. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» receiver.html ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ Π² ΠΏΠ°ΠΏΠΊΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
- Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ "ΠΡΠΎΠΏΡΡΡΠΈΡΡ"
- Π¨Π°Π³ 3. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
client_id
,client_secret
,redirect_uri
:client_id
- ID. ΠΡΠΈΠΌΠ΅Ρ:670707
client_secret
- ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ. ΠΡΠΈΠΌΠ΅Ρ:a619062972f2073ded61405b8f8eccd2
redirect_uri
- Π°Π΄ΡΠ΅Ρ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΡΠΈΠΌΠ΅Ρ:http://localhost/auth?provider=mailru
- Π¨Π°Π³ 4. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SocialAuther.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SocialAuther:
<?php
$mailruAdapterConfig = array(
'client_id' => '670707',
'client_secret' => 'a619062972f2073ded61405b8f8eccd2',
'redirect_uri' => 'http://localhost/auth?provider=mailru'
);
$mailruAdapter = new SocialAuther\Adapter\Mailru($mailruAdapterConfig);
$auther = new SocialAuther\SocialAuther($mailruAdapter);
if (!isset($_GET['code'])) {
echo '<p><a href="' . $auther->getAuthUrl() . '">ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· Mail.ru</a></p>';
} else {
if ($auther->authenticate()) {
if (!is_null($auther->getSocialId()))
echo "Π‘ΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΉ ID ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialId() . '<br />';
if (!is_null($auther->getName()))
echo "ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getName() . '<br />';
if (!is_null($auther->getEmail()))
echo "Email ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getEmail() . '<br />';
if (!is_null($auther->getSocialPage()))
echo "Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialPage() . '<br />';
if (!is_null($auther->getSex()))
echo "ΠΠΎΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSex() . '<br />';
if (!is_null($auther->getBirthday()))
echo "ΠΠ΅Π½Ρ Π ΠΎΠΆΠ΄Π΅Π½ΠΈΡ: " . $auther->getBirthday() . '<br />';
// Π°Π²Π°ΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
if (!is_null($auther->getAvatar()))
echo '<img src="' . $auther->getAvatar() . '" />'; echo "<br />";
}
}
- Π¨Π°Π³ 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- Π¨Π°Π³ 2. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- ΠΠ°Π·Π²Π°Π½ΠΈΠ΅: "SocialAuther Test"
- ΠΡΠ°Π²Π°: "Π―Π½Π΄Π΅ΠΊΡ.ΠΠΎΠ³ΠΈΠ½ - ΠΠ΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ; ΠΠ°ΡΠ° ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ; ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π€ΠΠ, ΠΏΠΎΠ»"
- Callback URI:
http://localhost/auth?provider=yandex
- Π¨Π°Π³ 3. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
client_id
,client_secret
,redirect_uri
:client_id
- Id ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ:bff0bfcaef054ab66c0538b39e0a86cf
client_secret
- ΠΠ°ΡΠΎΠ»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ:219ba88d386b114b9c6abef7eab4e8e4
redirect_uri
- Callback URI. ΠΡΠΈΠΌΠ΅Ρ:http://localhost/auth?provider=yandex
- Π¨Π°Π³ 4. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SocialAuther.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SocialAuther:
<?php
$yandexAdapterConfig = array(
'client_id' => 'bff0bfcaef054ab66c0538b39e0a86cf',
'client_secret' => '219ba88d386b114b9c6abef7eab4e8e4',
'redirect_uri' => 'http://localhost/auth?provider=yandex'
);
$yandexAdapter = new SocialAuther\Adapter\Yandex($yandexAdapterConfig);
$auther = new SocialAuther\SocialAuther($yandexAdapter);
if (!isset($_GET['code'])) {
echo '<p><a href="' . $auther->getAuthUrl() . '">ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· Yandex</a></p>';
} else {
if ($auther->authenticate()) {
if (!is_null($auther->getSocialId()))
echo "Π‘ΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΉ ID ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialId() . '<br />';
if (!is_null($auther->getName()))
echo "ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getName() . '<br />';
if (!is_null($auther->getEmail()))
echo "Email ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getEmail() . '<br />';
if (!is_null($auther->getSocialPage()))
echo "Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialPage() . '<br />';
if (!is_null($auther->getSex()))
echo "ΠΠΎΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSex() . '<br />';
if (!is_null($auther->getBirthday()))
echo "ΠΠ΅Π½Ρ Π ΠΎΠΆΠ΄Π΅Π½ΠΈΡ: " . $auther->getBirthday() . '<br />';
// Π°Π²Π°ΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
if (!is_null($auther->getAvatar()))
echo '<img src="' . $auther->getAvatar() . '" />'; echo "<br />";
}
}
- Π¨Π°Π³ 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- Π² ΠΌΠ΅Π½Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ "API Access"
- Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ "Create an OAuth 2.0 Client ID..."
- Π¨Π°Π³ 2. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- API Access: "SocialAuther Test"
- ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Next
- Application Type: "Web application"
- Your site or hostname:
localhost/google-auth
- ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Create client ID
- Π¨Π°Π³ 3. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
client_id
,client_secret
,redirect_uri
:client_id
- Id ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ:333739311538.apps.googleusercontent.com
client_secret
- ΠΠ°ΡΠΎΠ»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ:lZB3aW8UG8gDj6WVIEIcidt5
redirect_uri
- Callback URI. ΠΡΠΈΠΌΠ΅Ρ:http://localhost/auth?provider=google
- Π¨Π°Π³ 4. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SocialAuther.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SocialAuther:
<?php
$googleAdapterConfig = array(
'client_id' => '393337311853.apps.googleusercontent.com',
'client_secret' => 'B38WaUlZG8gDI6jIEWVct5id',
'redirect_uri' => 'http://localhost/auth?provider=google'
);
$googleAdapter = new SocialAuther\Adapter\Google($googleAdapterConfig);
$auther = new SocialAuther\SocialAuther($googleAdapter);
if (!isset($_GET['code'])) {
echo '<p><a href="' . $auther->getAuthUrl() . '">ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· Google</a></p>';
} else {
if ($auther->authenticate()) {
if (!is_null($auther->getSocialId()))
echo "Π‘ΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΉ ID ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialId() . '<br />';
if (!is_null($auther->getName()))
echo "ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getName() . '<br />';
if (!is_null($auther->getEmail()))
echo "Email ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getEmail() . '<br />';
if (!is_null($auther->getSocialPage()))
echo "Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialPage() . '<br />';
if (!is_null($auther->getSex()))
echo "ΠΠΎΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSex() . '<br />';
if (!is_null($auther->getBirthday()))
echo "ΠΠ΅Π½Ρ Π ΠΎΠΆΠ΄Π΅Π½ΠΈΡ: " . $auther->getBirthday() . '<br />';
// Π°Π²Π°ΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
if (!is_null($auther->getAvatar()))
echo '<img src="' . $auther->getAvatar() . '" />'; echo "<br />";
}
}
- Π¨Π°Π³ 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ "+ Π‘ΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅"
- App Name: "SocialAuther Test"
- ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ "ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ"
- Π¨Π°Π³ 2. ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:
- ΠΠ°ΠΆΠΈΠΌΠ°Π΅ΠΌ "Website with Facebook Login"
- ΠΠ²ΠΎΠ΄ΠΈΠΌ Site URL:
http://localhost/auth?provider=facebook
- Π¨Π°Π³ 3. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
client_id
,client_secret
,redirect_uri
:client_id
- App ID. ΠΡΠΈΠΌΠ΅Ρ:346158195993388
client_secret
- App Secret. ΠΡΠΈΠΌΠ΅Ρ:2de1ab376d1c17cd47250920c05ab386
redirect_uri
- Callback URI. ΠΡΠΈΠΌΠ΅Ρ:http://localhost/auth?provider=facebook
- Π¨Π°Π³ 4. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SocialAuther.
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ SocialAuther:
<?php
$facebookAdapterConfig = array(
'client_id' => '346158195993388',
'client_secret' => '2de1ab376d1c17cd47250920c05ab386',
'redirect_uri' => 'http://localhost/auth?provider=facebook'
);
$facebookAdapter = new SocialAuther\Adapter\Facebook($facebookAdapterConfig);
$auther = new SocialAuther\SocialAuther($facebookAdapter);
if (!isset($_GET['code'])) {
echo '<p><a href="' . $auther->getAuthUrl() . '">ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· Facebook</a></p>';
} else {
if ($auther->authenticate()) {
if (!is_null($auther->getSocialId()))
echo "Π‘ΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΉ ID ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialId() . '<br />';
if (!is_null($auther->getName()))
echo "ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getName() . '<br />';
if (!is_null($auther->getEmail()))
echo "Email ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getEmail() . '<br />';
if (!is_null($auther->getSocialPage()))
echo "Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialPage() . '<br />';
if (!is_null($auther->getSex()))
echo "ΠΠΎΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSex() . '<br />';
if (!is_null($auther->getBirthday()))
echo "ΠΠ΅Π½Ρ Π ΠΎΠΆΠ΄Π΅Π½ΠΈΡ: " . $auther->getBirthday() . '<br />';
// Π°Π²Π°ΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
if (!is_null($auther->getAvatar()))
echo '<img src="' . $auther->getAvatar() . '" />'; echo "<br />";
}
}
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ SocialAuther Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ΅ΡΡΠΌΠΈ ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ
<?php
$adapterConfigs = array(
'vk' => array(
'client_id' => '3078654',
'client_secret' => 'zrCHcmKAcBvblSUIBIwu',
'redirect_uri' => 'http://localhost/auth/?provider=vk'
),
'odnoklassniki' => array(
'client_id' => '658606315',
'client_secret' => 'C35045020A8C7C066F25C4C7',
'redirect_uri' => 'http://localhost/auth?provider=odnoklassniki',
'public_key' => 'BAMKABABACADCBBAB'
),
'mailru' => array(
'client_id' => '670707',
'client_secret' => 'a619062972f2073ded61405b8f8eccd2',
'redirect_uri' => 'http://localhost/auth/?provider=mailru'
),
'yandex' => array(
'client_id' => 'bff0bfcaef054ab66c0538b39e0a86cf',
'client_secret' => '219ba88d386b114b9c6abef7eab4e8e4',
'redirect_uri' => 'http://localhost/auth/?provider=yandex'
),
'google' => array(
'client_id' => '393337311853.apps.googleusercontent.com',
'client_secret' => 'B38WaUlZG8gDI6jIEWVct5id',
'redirect_uri' => 'http://localhost/auth?provider=google'
),
'facebook' => array(
'client_id' => '346158195993388',
'client_secret' => '2de1ab376d1c17cd47250920c05ab386',
'redirect_uri' => 'http://localhost/auth?provider=facebook'
)
);
// ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ²
$adapters = array();
foreach ($adapterConfigs as $adapter => $settings) {
$class = 'SocialAuther\Adapter\\' . ucfirst($adapter);
$adapters[$adapter] = new $class($settings);
}
if (!isset($_GET['code'])) {
foreach ($adapters as $title => $adapter) {
echo '<p><a href="' . $adapter->getAuthUrl() . '">ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· ' . ucfirst($title) . '</a></p>';
}
} else {
if (isset($_GET['provider']) && array_key_exists($_GET['provider'], $adapters)) {
$auther = new SocialAuther\SocialAuther($adapters[$_GET['provider']]);
}
if ($auther->authenticate()) {
if (!is_null($auther->getSocialId()))
echo "Π‘ΠΎΡΠΈΠ°Π»ΡΠ½ΡΠΉ ID ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialId() . '<br />';
if (!is_null($auther->getName()))
echo "ΠΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getName() . '<br />';
if (!is_null($auther->getEmail()))
echo "Email ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getEmail() . '<br />';
if (!is_null($auther->getSocialPage()))
echo "Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΈΠ»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSocialPage() . '<br />';
if (!is_null($auther->getSex()))
echo "ΠΠΎΠ» ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: " . $auther->getSex() . '<br />';
if (!is_null($auther->getBirthday()))
echo "ΠΠ΅Π½Ρ Π ΠΎΠΆΠ΄Π΅Π½ΠΈΡ: " . $auther->getBirthday() . '<br />';
// Π°Π²Π°ΡΠ°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
if (!is_null($auther->getAvatar()))
echo '<img src="' . $auther->getAvatar() . '" />'; echo "<br />";
}
}
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΠΠΠΎΠ½ΡΠ°ΠΊΡΠ΅, ΠΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠΈ, Mail.Ru, Yandex, Google, Facebook