{"id":230365,"date":"2014-07-18T17:28:03","date_gmt":"2014-07-18T13:28:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=230365"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=230365","title":{"rendered":"<span class=\"post_title\">HybridAuth \u0434\u043b\u044f UMI.CMS. \u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0442\u0438 \u043d\u0430 UMI.CMS<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\t\u042f \u043e\u0447\u0435\u043d\u044c \u0434\u0430\u0432\u043d\u043e \u0445\u043e\u0442\u0435\u043b \u0434\u043b\u044f UMI \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u043e\u0442 loginza, \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u0447\u0438\u0442\u0430\u044e, \u0447\u0442\u043e \u043e\u043d \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0443\u0434\u0430\u0447\u043d\u044b\u0439, \u043f\u043e \u0440\u044f\u0434\u0443 \u043f\u0440\u0438\u0447\u0438\u043d (\u0447\u0438\u0441\u0442\u043e \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0445). \u041c\u043e\u0433\u0443 \u043e\u0448\u0438\u0431\u0430\u0442\u044c\u0441\u044f, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a \u0438 \u0435\u0441\u0442\u044c \u043d\u0435 \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0439\u0442\u0435 \u043a\u0430\u043c\u043d\u044f\u043c\u0438.<\/p>\n<p>  \u0411\u044b\u043b \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u043b\u0435\u043d \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0442\u0430\u0442\u0435\u0439 \u043d\u0430 habrahabr, \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e \u0441\u0442\u0430\u0442\u044c\u044f \u0431\u044b\u043b\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0430. \u0412\u043e \u0432\u0441\u044f\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u043f\u043e\u0436\u0430\u0440\u043d\u044b\u0439 \u043e\u0441\u0442\u0430\u0432\u043b\u044e \u2014 <a href=\"http:\/\/habrahabr.ru\/post\/149187\/\">\u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435\u0439<\/a>. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u043e\u0431\u0449\u0435\u043c \u043a\u0430\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c HybridAuth \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u0441\u0430\u0439\u0442\u0430, \u0438 \u0441\u043e\u0437\u0440\u0435\u043b \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<p>  \u041f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 UMI.CMS \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 HybridAuth.<\/p>\n<p>  \u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043b\u044f UMI.CMS \u0431\u0443\u0434\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432:<\/p>\n<ul>\n<li>Facebook<\/li>\n<li>Twitter<\/li>\n<li>Linkedin<\/li>\n<li>Google+<\/li>\n<li>\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435<\/li>\n<\/ul>\n<p>  <a name=\"habracut\"><\/a><br \/>  \u0421\u0442\u0430\u0442\u044c\u044f \u043f\u043e HybridAuth \u0434\u043b\u044f UMI.CMS \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0430 \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0430\u0442\u0435\u0439:<br \/>  1) \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u043b\u0435\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f<br \/>  2) \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 HybridAuth<br \/>  3) \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 HybridAuth + UMI.CMS<br \/>  4) \u041a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u0430<\/p>\n<h2>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u043b\u0435\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f<\/h2>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u0430\u0439\u0442\u0438 \u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u043c\u043e\u0434\u0443\u043b\u044c) \u0438 \u043d\u0430\u0439\u0442\u0438 \u0442\u0430\u043c \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 \u00ab\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u00bb:<br \/>  <a href=\"http:\/\/pontyk.com.ua\/wp-content\/uploads\/2014\/07\/hybridauth-dlya-umi-cms-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/820\/96f\/9be\/82096f9be4eea5a61e698f20115574ef.png\" alt=\"hybridauth-dlya-umi-cms-3\" width=\"300\" height=\"159\"\/><\/a><\/p>\n<p>  \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435 \u00ab\u0410\u0432\u0430\u0442\u0430\u0440\u00bb \u0438 \u00abID \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438\u0437 \u0441\u043e\u0446. \u0441\u0435\u0442\u0438\u00bb:<\/p>\n<p>  <a href=\"http:\/\/pontyk.com.ua\/wp-content\/uploads\/2014\/07\/hybridauth-dlya-umi-cms-4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/c3b\/626\/b5c\/c3b626b5c612a8a199d01493686f1f9a.png\" alt=\"hybridauth-dlya-umi-cms-4\" width=\"300\" height=\"96\"\/><\/a><\/p>\n<p>  <a href=\"http:\/\/pontyk.com.ua\/wp-content\/uploads\/2014\/07\/hybridauth-dlya-umi-cms-5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/91b\/c21\/609\/91bc2160981c5beabeebee468ad633af.png\" alt=\"hybridauth-dlya-umi-cms-5\" width=\"300\" height=\"59\"\/><\/a><\/p>\n<p>  <a href=\"http:\/\/pontyk.com.ua\/wp-content\/uploads\/2014\/07\/hybridauth-dlya-umi-cms-6.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/8c0\/2cc\/4d2\/8c02cc4d21b1fa07a1f317e78f4f8e51.png\" alt=\"hybridauth-dlya-umi-cms-6\" width=\"300\" height=\"56\"\/><\/a><\/p>\n<p>  \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430.<\/p>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 HybridAuth<\/h2>\n<p>  \u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u043c\u043e\u0436\u043d\u043e <a href=\"http:\/\/hybridauth.sourceforge.net\/index.html\">\u0437\u0434\u0435\u0441\u044c<\/a> (\u044d\u0442\u043e \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b), \u0430 <a href=\"https:\/\/github.com\/hybridauth\/hybridauth\/tree\/master\/additional-providers\">\u0437\u0434\u0435\u0441\u044c<\/a> \u0434\u043e\u043f. \u043f\u0440\u043e\u0432\u0430\u0434\u0435\u0440\u043e\u0432. \u041f\u043e <a href=\"http:\/\/pontyk.com.ua\/wp-content\/uploads\/2014\/07\/hybridauth.zip\">\u044d\u0442\u043e\u0439<\/a> \u0441\u0441\u044b\u043b\u043a\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0441 \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c vk.com(\u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0430\u0440\u0445\u0438\u0432).<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430. \u042f \u043d\u0435 \u0431\u0443\u0434\u0443 \u0440\u0430\u0441\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0443\u0432\u0435\u0440\u0435\u043d, \u0432\u044b \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0431\u0435\u0440\u0435\u0442\u0435\u0441\u044c. \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0412\u044b \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u043f\u0440\u0438\u0432\u043e\u0436\u0443 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li><a href=\"https:\/\/support.google.com\/wildfire\/answer\/3467758?hl=ru&amp;amp;ref_topic=3473113\">Facebook<\/a><\/li>\n<li><a href=\"https:\/\/support.google.com\/wildfire\/answer\/3467713?hl=ru&amp;amp;ref_topic=3473113\">Twitter<\/a><\/li>\n<li><a href=\"https:\/\/support.google.com\/wildfire\/answer\/3467714?hl=ru&amp;amp;ref_topic=3473113\">Google+<\/a><\/li>\n<li><a href=\"https:\/\/vk.com\/editapp?act=create\">\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435<\/a>, \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438\u0432\u043e\u0436\u0443 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0442\u0430\u043c \u043f\u0440\u043e\u0449\u0435 \u0432\u0441\u0435\u0433\u043e<\/li>\n<li><a href=\"https:\/\/www.linkedin.com\/secure\/developer\">Linkedin.com<\/a>, \u0441\u0441\u044b\u043b\u043a\u0430 \u0441\u0440\u0430\u0437\u0443 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/li>\n<\/ul>\n<p>  \u0414\u0430\u043b\u0435\u0435, \u043d\u0443\u0436\u043d\u043e \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c HybridAuth. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 _http:\/\/\u0432\u0430\u0448_\u0441\u0430\u0439\u0442\/hybridauth\/install.php \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043d\u0443\u0436\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b. \u0425\u043e\u0447\u0443 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0440\u0435\u0431\u044f\u0442\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0432\u0448\u0438\u0435 hybridauth \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u0438\u0432\u0435\u043b\u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0412\u044b \u0432\u043d\u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b\u0438, \u0434\u043e\u043b\u0436\u043d\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u044d\u0442\u043e\u0433\u043e:<\/p>\n<p>  <a href=\"http:\/\/pontyk.com.ua\/wp-content\/uploads\/2014\/07\/hybridauth-dlya-umi-cms-2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/habrastorage.org\/getpro\/habr\/post_images\/33a\/ca4\/41c\/33aca441ccfdcde894c88d28d0e6be2e.png\" alt=\"hybridauth-dlya-umi-cms-2\" width=\"300\" height=\"141\"\/><\/a><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430. <\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0412\u044b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u0434\u043b\u044f vk.com (\u0435\u0441\u043b\u0438 \u0432\u0437\u044f\u043b\u0438 \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0430\u0440\u0445\u0438\u0432, \u0442\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 vk.com). \u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043f\u043e <a href=\"https:\/\/github.com\/hybridauth\/hybridauth\/tree\/master\/additional-providers\/hybridauth-vkontakte\/Providers\">\u044d\u0442\u043e\u0439<\/a> \u0441\u0441\u044b\u043b\u043a\u0435 \u0438 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0444\u0430\u0439\u043b. \u0415\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \\hybridauth\\Hybrid\\Providers. \u0412 \u0444\u0430\u0439\u043b\u0435 hybridauth\\config.php \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u043a\u043e\u0434\u0430 \u0438 \u0432\u043f\u0438\u0441\u0430\u0442\u044c id \u0438 secret, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435.<\/p>\n<pre><code class=\"php\">&quot;Vkontakte&quot; =&gt; array ( \t&quot;enabled&quot; =&gt; true, \t&quot;keys&quot;    =&gt; array ( &quot;id&quot; =&gt; &quot;&quot;, &quot;secret&quot; =&gt; &quot;&quot; ) ), <\/code><\/pre>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 HybridAuth + UMI.CMS<\/h2>\n<p>  \u0414\u0430\u043b\u0435\u0435, \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432 \u043a\u043e\u0440\u043d\u0435 \u0444\u0430\u0439\u043b <a href=\"http:\/\/pontyk.com.ua\/wp-content\/uploads\/2014\/07\/auth_with_social-2.zip\">auth_with_social.php<\/a> \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c:<\/p>\n<pre><code class=\"php\">session_start();  require_once('standalone.php');  $config = CURRENT_WORKING_DIR . '\/hybridauth\/config.php'; require CURRENT_WORKING_DIR . '\/hybridauth\/Hybrid\/Auth.php';  $domain = cmsController::getInstance()-&gt;getCurrentDomain()-&gt;getHost(); \/\/ \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u043e\u043c\u0435\u043d\u0430 $users = cmsController::getInstance()-&gt;getModule(&quot;users&quot;); \/\/ &quot;\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&quot; \u043a \u043c\u043e\u0434\u0443\u043b\u044e users $data = cmsController::getInstance()-&gt;getModule(&quot;data&quot;); \/\/ &quot;\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435&quot; \u043a \u043c\u043e\u0434\u0443\u043b\u044e data   \/*  * \/auth_with_social.php?login_with=_fb  * \/auth_with_social.php?login_with=_vk  * \/auth_with_social.php?login_with=_in  * \/auth_with_social.php?login_with=_gp  * \/auth_with_social.php?login_with=_tw  * *\/  if( isset( $_GET[&quot;login_with&quot;] ) ) {     $login_with = $_GET[&quot;login_with&quot;];      try  {         $hybridauth = new Hybrid_Auth($config);         $adapter = false;          switch ($login_with) {             case &quot;_fb&quot;:                 $adapter = $hybridauth-&gt;authenticate( &quot;facebook&quot; );                 break;             case &quot;_vk&quot;:                 $adapter = $hybridauth-&gt;authenticate( &quot;vkontakte&quot; );                 break;             case &quot;_in&quot;:                 $adapter = $hybridauth-&gt;authenticate( &quot;linkedin&quot; );                 break;             case &quot;_gp&quot;:                 $adapter = $hybridauth-&gt;authenticate( &quot;google&quot; );                 break;             case &quot;_tw&quot;:                 $adapter = $hybridauth-&gt;authenticate( &quot;twitter&quot; );                 break;         }          \/\/ \u0415\u0441\u043b\u0438 \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u0430 &quot;\u0447\u0443\u0448\u044c&quot; \u0432\u044b\u0434\u0430\u0435\u043c \u043e\u0448\u0438\u0431\u043a\u0443         if(!$adapter) die( &quot;&lt;b&gt;\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u043e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438! \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437.&lt;\/b&gt; &quot;);          $profile = $adapter-&gt;getUserProfile();          \/\/ \u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u0437\u0430\u043b\u043e\u0433\u0438\u043d\u0435\u043d - \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442         if( !isset( $profile ) ){             \/* \u0420\u0435\u0434\u0438\u0440\u0435\u043a\u0442 $profile \u0441\u043b\u0443\u0447\u0430\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 auth_with_social.php \u0431\u0435\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 *\/             $domain = cmsController::getInstance()-&gt;getCurrentDomain()-&gt;getHost();             header (&quot;Location: http:\/\/&quot; . $domain);          \/\/ \u0415\u0441\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0437\u0430\u043b\u043e\u0433\u0438\u043d\u0435\u043d, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0443 :)         } else {             echo &quot;\u041e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f&quot;;             echo &quot;&lt;pre&gt;&quot;;             print_r($profile);             echo &quot;&lt;\/pre&gt;&quot;;              $objectTypes = umiObjectTypesCollection::getInstance();             $objectTypeId\t= $objectTypes-&gt;getBaseType(&quot;users&quot;, &quot;user&quot;);             $objectType = $objectTypes-&gt;getType($objectTypeId);               $provider = $login_with; \/\/ \u041f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c             $identifier = $profile-&gt;identifier;              $login = $profile-&gt;email;             $email = $profile-&gt;email;             if(iconv_strlen($login) == 0) {                 $login = transliterate($profile-&gt;firstName);                 $login .= $profile-&gt;identifier;                  $email = $login . '@'. $domain;             }             $fname = $profile-&gt;firstName;             $lname = $profile-&gt;lastName;             $password = md5(generate_password(10));               $sel = new selector('objects');             $sel-&gt;types('object-type')-&gt;name('users', 'user');             $sel-&gt;where('e-mail')-&gt;equals($email);             $user = $sel-&gt;first;              if( $user instanceof iUmiObject ) {                 permissionsCollection::getInstance()-&gt;loginAsUser($user);                 session_commit();                  header (&quot;Location: http:\/\/&quot; . $domain);             } else {                 if(!preg_match(&quot;\/.+@.+\\..+\/&quot;, $email)) {                     while(true) {                         $email = $login.rand(1,100).&quot;@&quot;.getServer('HTTP_HOST');                         if($this-&gt;checkIsUniqueEmail($email)) {                             break;                         }                     }                 }                  $object_id = umiObjectsCollection::getInstance()-&gt;addObject($login, $objectTypeId);                 $object = umiObjectsCollection::getInstance()-&gt;getObject($object_id);                  $object-&gt;setValue(&quot;login&quot;, $login);                 $object-&gt;setValue(&quot;password&quot;, md5($password));                 $object-&gt;setValue(&quot;e-mail&quot;, $email);                 $object-&gt;setValue(&quot;fname&quot;, ($fname));                 $object-&gt;setValue(&quot;lname&quot;, $lname);                 $object-&gt;setValue(&quot;loginza&quot;, $provider);                 $object-&gt;setValue(&quot;social_identifier&quot;, $identifier);                 $object-&gt;setValue(&quot;register_date&quot;, time());                 $object-&gt;setValue(&quot;is_activated&quot;, '1');                 $object-&gt;setValue(&quot;activate_code&quot;, md5(uniqid(rand(), true)));                  \/* \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0430\u0432\u0430\u0442\u0430\u0440\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f *\/                 $user_pic = &quot;.\/files\/users_upload\/social_avatars\/&quot;;                 $user_pic .= $identifier . $provider;                  $png_pos = strpos($profile-&gt;photoURL , '.png');                 $gif_pos = strpos($profile-&gt;photoURL , '.gif');                  if ( $png_pos !== false )                     $user_pic .= &quot;.png&quot;;                 elseif ( $gif_pos !== false )                     $user_pic .= &quot;.gif&quot;;                 else                     $user_pic .= &quot;.jpeg&quot;;                   \/\/ How to save facebook profile picture using php graph Api                 \/\/ http:\/\/goo.gl\/zgL3iR                  \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e URL-\u0430\u0434\u0440\u0435\u0441\u0430                 \/\/ http:\/\/goo.gl\/VHeXk1                 $data = file_get_contents($profile-&gt;photoURL);                 $file = fopen($user_pic, 'wb');                 fputs($file, $data);                 fclose($file);                   if( file_exists(&quot;$user_pic&quot;) ) {                     $oFile = new umiFile($user_pic);                      if (!$oFile-&gt;getIsBroken()) {                         $object-&gt;setValue(&quot;avatar&quot;, $oFile);                     }                  }                  \/* \/\/ \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0430\u0432\u0430\u0442\u0430\u0440\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f *\/                  $_SESSION['cms_login'] = $login;                 $_SESSION['cms_pass'] = md5($password);                 $_SESSION['user_id'] = $object_id;                  session_commit();                  $group_id = regedit::getInstance()-&gt;getVal(&quot;\/\/modules\/users\/def_group&quot;);                 $object-&gt;setValue(&quot;groups&quot;, Array($group_id));                  $data_module = cmsController::getInstance()-&gt;getModule('data');                 $data_module-&gt;saveEditedObject($object_id, true);                  $object-&gt;commit();                  header (&quot;Location: http:\/\/&quot; . $domain);             }          }      } catch( Exception $e )  {         \/*$html = &quot;\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0438 \u043d\u0438\u0436\u0435: &lt;br&gt;&quot;;         $html .= &quot;&lt;b&gt;&quot; . $e-&gt;getMessage() . &quot;&lt;\/b&gt;&quot;;          die( $html );*\/          header (&quot;Location: http:\/\/&quot; . $domain . '\/authorization\/?error=' . $e-&gt;getMessage());     } } else {     \/* \u0420\u0435\u0434\u0438\u0440\u0435\u043a\u0442 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 auth_with_social.php \u0431\u0435\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 *\/     header (&quot;Location: http:\/\/&quot; . $domain); }   \/*  * \u0413\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u0430\u0440\u043e\u043b\u044f  * *\/ function generate_password($number) {     $arr = array('a','b','c','d','e','f',         'g','h','i','j','k','l',         'm','n','o','p','r','s',         't','u','v','x','y','z',         'A','B','C','D','E','F',         'G','H','I','J','K','L',         'M','N','O','P','R','S',         'T','U','V','X','Y','Z',         '1','2','3','4','5','6',         '7','8','9','0','-');     \/\/ \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u043f\u0430\u0440\u043e\u043b\u044c     $pass = &quot;&quot;;     for($i = 0; $i &lt; $number; $i++)     {         \/\/ \u0412\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u0430         $index = rand(0, count($arr) - 1);         $pass .= $arr[$index];     }     return $pass; }  \/*  * \u0422\u0440\u0430\u043d\u0441\u043b\u0438\u0442 \u0440\u0443\u0441\u043a\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430  * *\/ function transliterate($input) {     $gost = array(         &quot;\u0404&quot;=&gt;&quot;YE&quot;,&quot;\u0406&quot;=&gt;&quot;I&quot;,&quot;\u0403&quot;=&gt;&quot;G&quot;,&quot;\u0456&quot;=&gt;&quot;i&quot;,&quot;\u2116&quot;=&gt;&quot;-&quot;,&quot;\u0454&quot;=&gt;&quot;ye&quot;,&quot;\u0453&quot;=&gt;&quot;g&quot;,         &quot;\u0410&quot;=&gt;&quot;A&quot;,&quot;\u0411&quot;=&gt;&quot;B&quot;,&quot;\u0412&quot;=&gt;&quot;V&quot;,&quot;\u0413&quot;=&gt;&quot;G&quot;,&quot;\u0414&quot;=&gt;&quot;D&quot;,         &quot;\u0415&quot;=&gt;&quot;E&quot;,&quot;\u0401&quot;=&gt;&quot;YO&quot;,&quot;\u0416&quot;=&gt;&quot;ZH&quot;,         &quot;\u0417&quot;=&gt;&quot;Z&quot;,&quot;\u0418&quot;=&gt;&quot;I&quot;,&quot;\u0419&quot;=&gt;&quot;J&quot;,&quot;\u041a&quot;=&gt;&quot;K&quot;,&quot;\u041b&quot;=&gt;&quot;L&quot;,         &quot;\u041c&quot;=&gt;&quot;M&quot;,&quot;\u041d&quot;=&gt;&quot;N&quot;,&quot;\u041e&quot;=&gt;&quot;O&quot;,&quot;\u041f&quot;=&gt;&quot;P&quot;,&quot;\u0420&quot;=&gt;&quot;R&quot;,         &quot;\u0421&quot;=&gt;&quot;S&quot;,&quot;\u0422&quot;=&gt;&quot;T&quot;,&quot;\u0423&quot;=&gt;&quot;U&quot;,&quot;\u0424&quot;=&gt;&quot;F&quot;,&quot;\u0425&quot;=&gt;&quot;Kh&quot;,         &quot;\u0426&quot;=&gt;&quot;C&quot;,&quot;\u0427&quot;=&gt;&quot;CH&quot;,&quot;\u0428&quot;=&gt;&quot;SH&quot;,&quot;\u0429&quot;=&gt;&quot;SHH&quot;,&quot;\u042a&quot;=&gt;&quot;'&quot;,         &quot;\u042b&quot;=&gt;&quot;Y&quot;,&quot;\u042c&quot;=&gt;&quot;&quot;,&quot;\u042d&quot;=&gt;&quot;E&quot;,&quot;\u042e&quot;=&gt;&quot;YU&quot;,&quot;\u042f&quot;=&gt;&quot;YA&quot;,         &quot;\u0430&quot;=&gt;&quot;a&quot;,&quot;\u0431&quot;=&gt;&quot;b&quot;,&quot;\u0432&quot;=&gt;&quot;v&quot;,&quot;\u0433&quot;=&gt;&quot;g&quot;,&quot;\u0434&quot;=&gt;&quot;d&quot;,         &quot;\u0435&quot;=&gt;&quot;e&quot;,&quot;\u0451&quot;=&gt;&quot;yo&quot;,&quot;\u0436&quot;=&gt;&quot;zh&quot;,         &quot;\u0437&quot;=&gt;&quot;z&quot;,&quot;\u0438&quot;=&gt;&quot;i&quot;,&quot;\u0439&quot;=&gt;&quot;j&quot;,&quot;\u043a&quot;=&gt;&quot;k&quot;,&quot;\u043b&quot;=&gt;&quot;l&quot;,         &quot;\u043c&quot;=&gt;&quot;m&quot;,&quot;\u043d&quot;=&gt;&quot;n&quot;,&quot;\u043e&quot;=&gt;&quot;o&quot;,&quot;\u043f&quot;=&gt;&quot;p&quot;,&quot;\u0440&quot;=&gt;&quot;r&quot;,         &quot;\u0441&quot;=&gt;&quot;s&quot;,&quot;\u0442&quot;=&gt;&quot;t&quot;,&quot;\u0443&quot;=&gt;&quot;u&quot;,&quot;\u0444&quot;=&gt;&quot;f&quot;,&quot;\u0445&quot;=&gt;&quot;kh&quot;,         &quot;\u0446&quot;=&gt;&quot;c&quot;,&quot;\u0447&quot;=&gt;&quot;ch&quot;,&quot;\u0448&quot;=&gt;&quot;sh&quot;,&quot;\u0449&quot;=&gt;&quot;shh&quot;,&quot;\u044a&quot;=&gt;&quot;&quot;,         &quot;\u044b&quot;=&gt;&quot;y&quot;,&quot;\u044c&quot;=&gt;&quot;&quot;,&quot;\u044d&quot;=&gt;&quot;e&quot;,&quot;\u044e&quot;=&gt;&quot;yu&quot;,&quot;\u044f&quot;=&gt;&quot;ya&quot;,         &quot; &quot;=&gt;&quot;-&quot;,&quot;\u2014&quot;=&gt;&quot;-&quot;,&quot;,&quot;=&gt;&quot;-&quot;,&quot;!&quot;=&gt;&quot;-&quot;,&quot;@&quot;=&gt;&quot;-&quot;,         &quot;#&quot;=&gt;&quot;-&quot;,&quot;$&quot;=&gt;&quot;&quot;,&quot;%&quot;=&gt;&quot;&quot;,&quot;^&quot;=&gt;&quot;&quot;,&quot;&&quot;=&gt;&quot;&quot;,&quot;*&quot;=&gt;&quot;&quot;,         &quot;(&quot;=&gt;&quot;&quot;,&quot;)&quot;=&gt;&quot;&quot;,&quot;+&quot;=&gt;&quot;&quot;,&quot;=&quot;=&gt;&quot;&quot;,&quot;;&quot;=&gt;&quot;&quot;,&quot;:&quot;=&gt;&quot;&quot;,         &quot;'&quot;=&gt;&quot;&quot;,&quot;\\&quot;&quot;=&gt;&quot;&quot;,&quot;~&quot;=&gt;&quot;&quot;,&quot;`&quot;=&gt;&quot;&quot;,&quot;?&quot;=&gt;&quot;&quot;,&quot;\/&quot;=&gt;&quot;&quot;,         &quot;\\\\&quot;=&gt;&quot;&quot;,&quot;[&quot;=&gt;&quot;&quot;,&quot;]&quot;=&gt;&quot;&quot;,&quot;{&quot;=&gt;&quot;&quot;,&quot;}&quot;=&gt;&quot;&quot;,&quot;|&quot;=&gt;&quot;&quot;, &quot;.&quot;=&gt;&quot;-&quot;     );      $string = strtr($input, $gost);      return strtolower($string); } <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0432 \u0444\u0430\u0439\u043b .htaccess \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443:  <\/p>\n<pre><code class=\"apache\">###### SOCIAL ##### RewriteRule ^hybridauth\/(.*)*$ hybridauth\/index.php?%{QUERY_STRING} [L] ###### \/\/ SOCIAL ##### <\/code><\/pre>\n<h2>\u041a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u043a\u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u0430<\/h2>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0448\u0430\u0431\u043b\u043e\u043d \u0441\u0441\u044b\u043b\u043a\u0438, \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u0446. \u0441\u0435\u0442\u0438. \u041d\u0443\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u0432\u043e\u0442 \u044d\u0442\u043e\u0442 \u043a\u043e\u0434:<\/p>\n<pre><code class=\"html\">&lt;ul class=&quot;b-social-links&quot;&gt; \t&lt;li class=&quot;b-social-links__item&quot;&gt; \t\t&lt;a href=&quot;\/auth_with_social.php?login_with=_fb&quot; class=&quot;fb&quot; title=&quot;\u0412\u043e\u0439\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Facebook&quot;&gt;\u0412\u043e\u0439\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Facebook&lt;\/a&gt; \t&lt;\/li&gt;  \t&lt;li class=&quot;b-social-links__item&quot;&gt; \t\t&lt;a href=&quot;\/auth_with_social.php?login_with=_vk&quot; class=&quot;vk&quot; title=&quot;\u0412\u043e\u0439\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435&quot;&gt;\u0412\u043e\u0439\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435&lt;\/a&gt; \t&lt;\/li&gt;  \t&lt;li class=&quot;b-social-links__item&quot;&gt; \t\t&lt;a href=&quot;\/auth_with_social.php?login_with=_in&quot; class=&quot;in&quot; title=&quot;\u0412\u043e\u0439\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f LinkedIn&quot;&gt;\u0412\u043e\u0439\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f LinkedIn&lt;\/a&gt; \t&lt;\/li&gt;  \t&lt;li class=&quot;b-social-links__item&quot;&gt; \t\t&lt;a href=&quot;\/auth_with_social.php?login_with=_gp&quot; class=&quot;gp&quot; title=&quot;\u0412\u043e\u0439\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Google+&quot;&gt;\u0412\u043e\u0439\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Google+&lt;\/a&gt; \t&lt;\/li&gt;  \t&lt;li class=&quot;b-social-links__item&quot;&gt; \t\t&lt;a href=&quot;\/auth_with_social.php?login_with=_tw&quot; class=&quot;tw&quot; title=&quot;\u0412\u043e\u0439\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Twitter&quot;&gt;\u0412\u043e\u0439\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Twitter&lt;\/a&gt; \t&lt;\/li&gt; &lt;\/ul&gt; <\/code><\/pre>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0432\u0441\u0435.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0445\u043e\u0447\u0443 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u043e, \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438. \u0415\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e, \u0442\u043e \u0441\u043a\u0440\u0438\u043f\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \/authorization\/ \u0441 get \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c error.<\/p>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u043e\u0448\u0438\u0431\u043a\u0438, \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0441\u0430\u0439\u0442\u0430 \u0438 \u0435\u0435 \u0443\u0440\u043b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \/authorization\/. \u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 xslt \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 error. TPL-\u0448\u0430\u0431\u043b\u043e\u043d\u0430\u0437\u0430\u0442\u043e\u0440 \u043d\u0435 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e. <\/p>\n<p>  \u0421\u0441\u044b\u043b\u043a\u0438:  <\/p>\n<ul>\n<li><a href=\"http:\/\/hybridauth.sourceforge.net\/index.html\">\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043d\u0430 sourceforge<\/a><\/li>\n<li><a href=\"http:\/\/hybridauth.sourceforge.net\/download.html\">\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/hybridauth\/hybridauth\">\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430 GitHub<\/a><\/li>\n<\/ul>\n<p>  P.S. \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0438 \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u043f\u0438\u0448\u0438\u0442\u0435 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438.<br \/>  P.S.S. \u0415\u0441\u043b\u0438 \u0412\u044b \u043d\u0430\u0448\u043b\u0438 \u043e\u0448\u0438\u0431\u043a\u0443, \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435, \u044f \u0441\u0440\u0430\u0437\u0443 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044e. \u0421\u0442\u0430\u0440\u0430\u043b\u0441\u044f \u043f\u043e\u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u0441\u044f \u043e\u043f\u044b\u0442\u043e\u043c, \u043c\u043e\u0436\u0435\u0442 \u043a\u043e\u043c\u0443 \u0438 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f.<\/p>\n<p>  \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435. \t\t\t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/230365\/\"> http:\/\/habrahabr.ru\/post\/230365\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\t\u042f \u043e\u0447\u0435\u043d\u044c \u0434\u0430\u0432\u043d\u043e \u0445\u043e\u0442\u0435\u043b \u0434\u043b\u044f UMI \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u043e\u0442 loginza, \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u0447\u0438\u0442\u0430\u044e, \u0447\u0442\u043e \u043e\u043d \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0443\u0434\u0430\u0447\u043d\u044b\u0439, \u043f\u043e \u0440\u044f\u0434\u0443 \u043f\u0440\u0438\u0447\u0438\u043d (\u0447\u0438\u0441\u0442\u043e \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0445). \u041c\u043e\u0433\u0443 \u043e\u0448\u0438\u0431\u0430\u0442\u044c\u0441\u044f, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a \u0438 \u0435\u0441\u0442\u044c \u043d\u0435 \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0439\u0442\u0435 \u043a\u0430\u043c\u043d\u044f\u043c\u0438.<\/p>\n<p>  \u0411\u044b\u043b \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u043b\u0435\u043d \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0442\u0430\u0442\u0435\u0439 \u043d\u0430 habrahabr, \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e \u0441\u0442\u0430\u0442\u044c\u044f \u0431\u044b\u043b\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0430. \u0412\u043e \u0432\u0441\u044f\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u043f\u043e\u0436\u0430\u0440\u043d\u044b\u0439 \u043e\u0441\u0442\u0430\u0432\u043b\u044e \u2014 <a href=\"http:\/\/habrahabr.ru\/post\/149187\/\">\u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435\u0439<\/a>. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0431\u044b\u043b\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u043e\u0431\u0449\u0435\u043c \u043a\u0430\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c HybridAuth \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u0441\u0430\u0439\u0442\u0430, \u0438 \u0441\u043e\u0437\u0440\u0435\u043b \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<p>  \u041f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 UMI.CMS \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 HybridAuth.<\/p>\n<p>  \u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u0434\u043b\u044f UMI.CMS \u0431\u0443\u0434\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432:<\/p>\n<ul>\n<li>Facebook<\/li>\n<li>Twitter<\/li>\n<li>Linkedin<\/li>\n<li>Google+<\/li>\n<li>\u0412\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0435<\/li>\n<\/ul>\n<p>  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-230365","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/230365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=230365"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/230365\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=230365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=230365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=230365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}