2016-01-20 45 views
-1

假設我正在運行加載我的應用/頁面的node.js服務器。我的Node.js服務器通過服務實體的Restful Service從Drupal 8獲取內容。這是一種常見的做法。在node.js中驗證用戶並在nodejs會話中加密用戶名+密碼是否可以接受?然後在對Drupal 8的每個請求中,我通過SSL/TLS在基本身份驗證標頭中傳遞用戶名:密碼?Drupal 8與Node.js(集成模塊vs無頭drupal)

還是使用Drupal Node.js集成模塊更好?

這個想法是有一個面向服務的體系結構,只使用Drupal作爲CMS,並且爲節點Node.js留下一切,其中節點通過REST與所有這些服務和其他(非Drupal)交互...

我正朝着正確的方向前進嗎?有沒有人有這種設置的經驗?

+0

看起來很瘋狂,你爲什麼不讓Drupal提供頁面,這就是它的設計目的......它內置了路由和各種其他的東西,看起來像你錯過了拉動數據到節點JS ......你希望通過使用RESTful設置完成什麼? – DrCord

+0

我正在尋找解耦的應用程序,並有一個同構的應用程序。在服務器和瀏覽器上運行。只需使用Drupal作爲CMS。像Contentful一樣https://www.contentful.com/ – user3018765

+0

我接受建議或/和批評...... – user3018765

回答

-1

爲什麼不設置nginx或其他代理,將某些動作路由到drupal,其他動作路由到nodejs?

編輯:根據要求更多的闡述:

在nginx的再加上有一個模塊調用ngx_http_auth_request_module,我覺得從我讀過它可以使用這個模塊作爲海報的問題描述進行身份驗證。

https://www.nginx.com/blog/nginx-plus-authenticate-users/

你將如何堅持兩個系統之間的會話和狀態?

以下步驟可能是所提出的方案: 1)通過nginx的登錄(登錄頁面被呈現), 2.)nginx的發送請求到後端守護程序進行認證(你的情況的LDAP服務), 3)導入LDAP模塊到Drupal的驗證到相同的憑據, 4)轉發的憑據Drupal的 5)導入LDAP模塊到你的項目的NodeJS驗證到相同的憑據, 6 。)將憑證轉發到節點 7.)用於身份驗證的cookie由nginx身份驗證處理,並且基於逆向代理的兩種服務都可以在沒有任何傳遞的情況下訪問通過nodejs。

比方說,Node.js的,必須與其它系統

在這種情況下,node.js的整合應該有一個主帳戶,它並不需要登錄憑據,以及所有權限檢查可以通過這個來完成主賬戶(你可以提供一個示例場景,其中直接訪問drupal需要與節點進行一些交互?)。

+0

你能否詳細說明一下?你將如何堅持這兩個系統之間的會話和狀態?假設node.js必須與其他系統集成。 – user3018765

+0

我已經更新了資源描述的答案,用於處理來自nginx的身份驗證到節點和drupal中,可能是您必須修改他們在文章中提到的與代碼休息登錄機制進行交互的python代碼,如果它沒有使用提議用戶名:密碼base64編碼機制,這應該不難做到。 –

+0

您可以在服務器和瀏覽器之間共享模塊。 – user3018765