рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдПрдХрд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдкрдВрдЬреАрдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╕рд┐рдВрдЧрд▓ рд╕рд╛рдЗрди-рдСрди рдореМрдЬреВрджрд╛ рд╕рд╛рдЗрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдЬрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ (OAuth) рдпрд╛ рдУрдкрдирдЖрдИрдбреА рдкреНрд░рджрд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдЬреЗрдЯ рдореЗрдВ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╕рд╛рдЗрдЯ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддреЗ рдХреА рдУрд░ рд╕реЗ
рдХреЗрдХрд▓ рд╡рд┐рдЬреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдЫреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдпрд╣ рдХреИрд╕рд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?
рдХрд┐рд╕реА рдПрдХрд▓ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, mcSSOAuth рдЪрд░ рдХреЛ рд╡рд┐рдЬреЗрдЯ рдХреЛрдб рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдорд╛рди рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рдФрд░ рд╡рд┐рдЬреЗрдЯ рдХреА рдЧреБрдкреНрдд рдХреБрдВрдЬреА рд╣реИред рдХреБрдВрдЬреА рдХреЗ рд╕рдлрд▓ рд╕рддреНрдпрд╛рдкрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдбреЗрдЯрд╛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдзрд┐рдХреГрдд рд╣реИред
рдЪрд░ рдХрд╛ рдорд╛рди рд╕рд░реНрд╡рд░ рдкрд░ рдмрдирдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
<JSON Base64><><MD5 ><>< >
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ JSON рдбреЗрдЯрд╛ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- рдЖрдИрдбреА - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛
- рдирд╛рдо - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо
- рдИрдореЗрд▓ (рд╡реИрдХрд▓реНрдкрд┐рдХ) - рдИрдореЗрд▓ рдкрддрд╛
- рдЕрд╡рддрд╛рд░ (рд╡реИрдХрд▓реНрдкрд┐рдХ) - рдЕрд╡рддрд╛рд░ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ
- www (рд╡реИрдХрд▓реНрдкрд┐рдХ) - рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ
MD5 рдЕрдиреБрд░реЛрдз рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
md5(<JSON Base64>< >)
Site API Key - API. "", WordPress .
, JSON , JSON {}.
www.example.org. Freeman. , Freeman Cackle , . , Freeman .
- Freeman :
id - 7, email - freeman@example.org, avatar - example.org/freeman.png, Site API Key - 123456789, is_user_logged_in() .
function cackle_auth(){ $timestamp = time(); $siteApiKey = 123456789; if (is_user_logged_in()){ $user = array( 'id' => '7', 'name' => 'Freeman', 'email' => 'freeman@example.org', 'avatar' => 'http://example.org/freeman.png' ); $user_data = base64_encode(json_encode($user)); } else{ $user = '{}'; $user_data = base64_encode($user); } $sign = md5($user_data . $siteApiKey . $timestamp); return "$user_data $sign $timestamp"; }
md5(<JSON Base64>< >)
Site API Key - API. "", WordPress .
, JSON , JSON {}.
www.example.org. Freeman. , Freeman Cackle , . , Freeman .
- Freeman :
id - 7, email - freeman@example.org, avatar - example.org/freeman.png, Site API Key - 123456789, is_user_logged_in() .
function cackle_auth(){ $timestamp = time(); $siteApiKey = 123456789; if (is_user_logged_in()){ $user = array( 'id' => '7', 'name' => 'Freeman', 'email' => 'freeman@example.org', 'avatar' => 'http://example.org/freeman.png' ); $user_data = base64_encode(json_encode($user)); } else{ $user = '{}'; $user_data = base64_encode($user); } $sign = md5($user_data . $siteApiKey . $timestamp); return "$user_data $sign $timestamp"; }
md5(<JSON Base64>< >)
Site API Key - API. "", WordPress .
, JSON , JSON {}.
www.example.org. Freeman. , Freeman Cackle , . , Freeman .
- Freeman :
id - 7, email - freeman@example.org, avatar - example.org/freeman.png, Site API Key - 123456789, is_user_logged_in() .
function cackle_auth(){ $timestamp = time(); $siteApiKey = 123456789; if (is_user_logged_in()){ $user = array( 'id' => '7', 'name' => 'Freeman', 'email' => 'freeman@example.org', 'avatar' => 'http://example.org/freeman.png' ); $user_data = base64_encode(json_encode($user)); } else{ $user = '{}'; $user_data = base64_encode($user); } $sign = md5($user_data . $siteApiKey . $timestamp); return "$user_data $sign $timestamp"; }
md5(<JSON Base64>< >)
Site API Key - API. "", WordPress .
, JSON , JSON {}.
www.example.org. Freeman. , Freeman Cackle , . , Freeman .
- Freeman :
id - 7, email - freeman@example.org, avatar - example.org/freeman.png, Site API Key - 123456789, is_user_logged_in() .
function cackle_auth(){ $timestamp = time(); $siteApiKey = 123456789; if (is_user_logged_in()){ $user = array( 'id' => '7', 'name' => 'Freeman', 'email' => 'freeman@example.org', 'avatar' => 'http://example.org/freeman.png' ); $user_data = base64_encode(json_encode($user)); } else{ $user = '{}'; $user_data = base64_encode($user); } $sign = md5($user_data . $siteApiKey . $timestamp); return "$user_data $sign $timestamp"; }
md5(<JSON Base64>< >)
Site API Key - API. "", WordPress .
, JSON , JSON {}.
www.example.org. Freeman. , Freeman Cackle , . , Freeman .
- Freeman :
id - 7, email - freeman@example.org, avatar - example.org/freeman.png, Site API Key - 123456789, is_user_logged_in() .
function cackle_auth(){ $timestamp = time(); $siteApiKey = 123456789; if (is_user_logged_in()){ $user = array( 'id' => '7', 'name' => 'Freeman', 'email' => 'freeman@example.org', 'avatar' => 'http://example.org/freeman.png' ); $user_data = base64_encode(json_encode($user)); } else{ $user = '{}'; $user_data = base64_encode($user); } $sign = md5($user_data . $siteApiKey . $timestamp); return "$user_data $sign $timestamp"; }
md5(<JSON Base64>< >)
Site API Key - API. "", WordPress .
, JSON , JSON {}.
www.example.org. Freeman. , Freeman Cackle , . , Freeman .
- Freeman :
id - 7, email - freeman@example.org, avatar - example.org/freeman.png, Site API Key - 123456789, is_user_logged_in() .
function cackle_auth(){ $timestamp = time(); $siteApiKey = 123456789; if (is_user_logged_in()){ $user = array( 'id' => '7', 'name' => 'Freeman', 'email' => 'freeman@example.org', 'avatar' => 'http://example.org/freeman.png' ); $user_data = base64_encode(json_encode($user)); } else{ $user = '{}'; $user_data = base64_encode($user); } $sign = md5($user_data . $siteApiKey . $timestamp); return "$user_data $sign $timestamp"; }
Cackle_auth рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдВ рд╡рд┐рдЬреЗрдЯ рдХреЛрдб рд╣реИ:
<script type="text/javascript"> var mcSSOAuth = '<?php echo cackle_auth(); ?>';
рд╡реИрд╕реЗ,
рд╡рд░реНрдбрдкреНрд░реЗрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рдХреЗ
рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ , рдПрдХ рдПрдХрд▓ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред