为drupal站点实现“使用松弛登录”按钮

时间:2017-02-12 03:00:48

标签: mysql drupal drupal-7 slack

Slack为现有的松弛用户提供了一个简单的oauth方法(sign in with slack),可以对“我的平台”进行交叉验证。我已经能够在松弛的一面做所有事情,包括从slack的身份范围获取真实姓名和电子邮件地址,并在drupal mysql数据库users表中找到我的用户。

但是,如何实际记录此用户并以编程方式创建/重新生成会话?有没有办法从命令行使用drush或其他东西,而不必编辑PHP,因为这不是我的偏好。我以为我可以修改数据库中的时间戳,但看起来会话对象需要更多。

所以给了一个drupal uid,并访问drupal DB,我该怎么办?

3 个答案:

答案 0 :(得分:1)

您可以使用Masquerade模块为任何Drupal用户生成会话,无论他的创建源是什么

答案 1 :(得分:0)

听起来你正在寻找Selenium。它是一个命令行浏览器界面,用于创建测试场景和Web抓取工具。您可以使用java,python构建实现selenium的代码,我想其他一些语言。该工具对我来说是一个救命!我希望这会有所帮助。

答案 2 :(得分:0)

由于两个系统都在同一台服务器上,我编写了一个python脚本来修改drupal7 mysql数据库并且"将它们记录在"没有使用任何drupal环境技巧。通过更新用户的访问时间戳,系统将其视为已登录。如果松弛用户的电子邮件与drupal用户表不匹配,我还添加了从命令行运行drush -user-create的代码在数据库中。

这绝对不是我的首选路线,但似乎drupal自己的技巧更像是模仿用户的机器人。

我没有弄清楚如何创建会话cookie并在登录时将其提供给用户,所以如果你知道如何做到这一点,我很想知道!