Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Вопрос по внешней авторизации

00 голосов
5
можно ли сделать так. Есть главный сайт, не на Битриксе, не на этом хостинге, вообще почти недоступный.

К главному сайту доступа нет, но какой-нибудь обработчик правильности логина-пароля они мне там сделают.

Надо, чтобы с того сайта пользователи могли по ссылкам переходить на наш сайт, дочерний, автоматически при этом авторизуясь. Т.е. чтобы при переходе с того сайта на этот вообще не надо было вводить логинов и паролей.

Как такое можно сделать?

База пользователей тоже должна быть одинаковой, так что я думаю, что при заходе извне пользователь может просто вводить логин-пароль, а обработчик внешней авторизации будет запрашивать у головного сайта - правильный ли пароль или нет.
спросил 13 Ноя, 13 от Macka (140 баллов)

5 Ответы

00 голосов
Я, конечно, коряво написал, прямо "можно грабить корованы".

Вот тут я уточню и конкретизирую.
Можно ли сделать так, чтобы головной сайт, когда на нём авторизуется человек, устанавливал, скажем, такие куки, чтобы когда он потом зашёл на наш сайт, его можно было бы авторизовать через что-то такое

Код
<?
global $USER;
if (!is_object($USER)) $USER = new CUser;
$cookie_login = ${COption::GetOptionString("main", "cookie_name", "BITRIX_SM")."_LOGIN"};
$cookie_md5pass = ${COption::GetOptionString("main", "cookie_name", "BITRIX_SM")."_UIDH"};
$USER->LoginByHash($cookie_login, $cookie_md5pass);
?>

(взято отсюда http://dev.1c-bitrix.ru/api_help/main/reference/cuser/loginbyhash.php )
ответил 27 Дек, 13 от Macka (140 баллов)
00 голосов
Не уверен, что без пользователей в системе Битрикс все будет работать
скорее всего понадобится как минимум импортировать пользователей и пароли со старого сайта на сайт на Битрикс
ну а уж затем сделать обработчик (в init.php например), проверяющий пользователей, приходящих с другого сайта, а также передаваемые тем сайтом параметры
вот только не знаю, как это все будет выглядеть с точки зрения безопасности
ответил 12 Апр, 14 от jenia (1,500 баллов)
00 голосов
выше немного не то написал, упустил момент в вашем посте

Цитата
Ян Смоляк пишет:
База пользователей тоже должна быть одинаковой, так что я думаю, что при заходе извне пользователь может просто вводить логин-пароль, а обработчик внешней авторизации будет запрашивать у головного сайта - правильный ли пароль или нет.


в принципе реализуемо

но...
далеко не уверен что без пользователей, заведенных в Битрикс что то заработает (распределение прав доступа то наверное нужно зачем то? раз уж нужна авторизация)
поэтому их надо в любом случае создать или импортировать (ну на крайняк, создавать на лету. Только как вы определите к какой группе их цеплять? Больше головняков поймаете, да и с точки зрения безопасности опять же...)

а вот если есть пользователи, то проверку пароля сделать так как вам надо (с обращением за сверкой к другому сайту)


Еще что могу посоветовать:
Посмотрите в сторону обработки OpenID (ведь аналог вашей задачи)
может проще сделать именно аналогичным способом?
ответил 05 Авг, 14 от jenia (1,500 баллов)
00 голосов
Ну а если все пользователи, скажем, одинаковые.
Задача стоит - сделать простой _закрытый_ сайт-сателлит.
Собственно пользователей надо авторизовывать только потому, что для неавторизованных вообще не должно быть входа.
И групп посетителей (не администраторов-редакторов-наполнителей) должно быть всего 1 штука.

Можно ли это так реализовать? Любого нового пользователя через этот механизм добавлять тупо в группу простых посетителей.
ответил 08 Дек, 14 от Macka (140 баллов)
00 голосов
Цитата
Ян Смоляк пишет:
И групп посетителей (не администраторов-редакторов-наполнителей) должно быть всего 1 штука.

Можно ли это так реализовать? Любого нового пользователя через этот механизм добавлять тупо в группу простых посетителей

если группа одна - не так сложно

но в любой случае, потребуется хотябы создание пользователя на лету (либо авторизация под одним и тем жде пользователем, но это чревато в некоторых случаях всякими коллизиями при работе пользователей. Особенно не рекомнедуется при работе с модуолем интернет-магазин)
а вот проверку пароля реализовать через сервис на внешнем сайте
ответил 31 Март, 15 от jenia (1,500 баллов)

Похожие вопросы

0 голосов
2 ответов
0 голосов
0 ответов
спросил 15 Окт, 13 от аноним
0 голосов
2 ответов
спросил 06 Май, 14 от MortiMer (160 баллов)
0 голосов
2 ответов