2017-02-12 37 views
1

Slack爲現有的閒置用戶提供了一種簡單的oauth方法(sign in with slack),以交叉驗證「我的平臺」,無論這可能是什麼。我已經能夠在懶散的一方做所有事情,包括從懶閒的身份範圍獲取真實姓名和電子郵件地址,並在drupal mysql數據庫users表中找到我的用戶。實現drupal站點的「登錄以鬆懈」按鈕

但是我怎麼能實際登錄這個用戶並以編程方式創建/重新生成一個會話?有沒有辦法做到這一點從命令行使用drush或什麼,而不必編輯PHP,因爲這不是我的偏好。我認爲我可以修改數據庫中的時間戳,但看起來會話對象需要的不僅僅是這些。

所以給了一個drupal的uid和訪問drupal DB,我該怎麼做?

+0

沒有人將「用鬆弛登錄」按鈕集成到drupal站點嗎? –

回答

0

因爲這兩個系統都在同一臺服務器上,我寫了一個python腳本來修改drupal7 MySQL數據庫和「日誌他們在「沒有使用任何Drupal環境技巧。通過更新用戶的訪問時間戳,系統將視爲已登錄。如果鬆散用戶的電子郵件與數據庫中的drupal用戶表不匹配,我還會添加代碼以從命令行運行drush -user-create。

這絕對不是我的首選路線,但似乎drupal自己的技巧更多地沿着假冒用戶的機器人行。

我沒有弄清楚如何創建一個會話cookie,並在登錄時提供給用戶,所以如果你知道如何做到這一點,我很想知道!

0

這聽起來像你正在尋找硒。這是一個命令行瀏覽器界面,用於創建測試場景和網頁抓取工具。您可以構建使用java,python實現selenium的代碼,並且我認爲還有其他一些語言。這個工具對我來說是如此的節省生命!我希望這有幫助。

+0

不,我對硒很熟悉,但這一切都發生在同一臺服務器上。我有兩個需要相互交流的應用程序,所有冗餘集成發生在python中,但用戶數據庫是drupal,而drupal的drush或API似乎沒有我需要的。 –

+1

你能以某種方式使用AWS lambda函數嗎?!通常,你可以使用python或java將其與任何通過該服務的任何東西進行匹配。 – AlyssaFox

1

您可以使用Masquerade模塊任何Drupal的用戶生成會話不管是他的創作源

+0

我會看得更遠。這可能工作。 –