2017-02-12 22 views
1

Slack предлагает простой способ oauth (sign in with slack) для существующих слабых пользователей для перекрестной аутентификации на «моей платформе», что бы это ни было. Я смог сделать все на слабой стороне, включая получение реального имени и адреса электронной почты из области идентификации слабины и поиск моего пользователя в базе данных drupal mysql users.Реализация кнопки «Войдите в систему с slack» для сайта drupal

Но как я могу зарегистрировать этого пользователя и создать/регенерировать сеанс программно? Есть ли способ сделать это из командной строки, используя drush или что-то еще, без необходимости редактировать php, потому что это не мое предпочтение. Я думал, что могу изменить временные метки в базе данных, но похоже, что для объекта сеанса требуется больше, чем это.

Так что дано drupal uid и доступ к DB Drupal, что мне делать?

+0

еще никто не интегрировал кнопку «войти в систему с slack» на сайт drupal? –

ответ

0

Поскольку обе эти системы находятся на том же сервере, что я написал питон скрипт для изменения drupal7 базы данных MySQL и «журнал их в "без использования каких-либо трюков окружения drupal. Обновляя временную метку доступа для пользователя, система обрабатывает вход в систему. Я также добавил код для запуска drush -user-create из командной строки, если сообщение пользователя slack пользователя не соответствует таблице пользователей drupal в базе данных.

Это был не мой предпочтительный маршрут, но, похоже, собственные трюки drupal больше похожи на линию бота, олицетворяющего пользователя.

Я не понял, как создать куки-файл сеанса и предоставить его пользователю во время входа в систему, поэтому, если вы знаете, как это сделать, я бы с удовольствием узнал!

0

Похоже, что вы ищете Селен. Это интерфейс браузера командной строки, используемый для создания тестовых сценариев и инструментов веб-очистки. Вы можете создать код, который реализует selenium с java, python, и я думаю несколько других языков. Инструмент был для меня такой жизнерадостной! Надеюсь, это поможет.

+0

нет, я знаком с селеном, но все это происходит на одном сервере. У меня есть два приложения, которым нужно поговорить друг с другом, и вся слабая интеграция происходит в python, но пользовательская база данных - drupal, а drupal drush или API, похоже, не имеют того, что мне нужно. –

+1

Не могли бы вы использовать функцию лямбда AWS ?! Обычно вы можете переводить python или java, чтобы получить ее с чем-нибудь через эту службу. – AlyssaFox

1

Вы можете использовать Masquerade модуль не для создания сеанса для любого пользователя Drupal, независимо от того, что было источником его создания

+0

Я посмотрю дальше. Это может сработать. –

 Смежные вопросы

  • Нет связанных вопросов^_^