2015-06-15 142 views
4

我目前正在尋找如何使用我們自己的應用程序中的oauth2令牌對ejabberd進行身份驗證。ejabberd中的oauth2身份驗證支持

是否有任何解決方案使我能夠在我們自己的產品中進行身份驗證,然後使用該oauth2 JWT令牌對ejabberd進行身份驗證。

或者一個不同的問題,我怎樣才能使ejabberd用戶與我自己的應用程序用戶同步。

我在找工作的方式爲我們的用戶單一登錄。

我看到了建議更新ejabberd用戶密碼與每個登錄生成的令牌。然後使用用戶名和標記登錄到ejabberd。然而,這聽起來不僅僅是一個真正的解決方案。

有沒有人有這方面的經驗?我對Erlang沒有任何經驗。如果有人能指引我朝着正確的方向,那將會很棒。

回答

3

我看到兩個主要的正確的方式來實現對ejabberd基於令牌的認證:

  • ejabberd定製認證模塊:你可以寫一個自定義的驗證模塊ejabberd,使用ejabberd掛鉤API。您可以使用現有的Erlang ejabberd_auth*.erl作爲示例。

  • 使用允許對HTTP後端進行身份驗證並在該後端執行令牌檢查的功能。這將消除編寫Erlang代碼的需要。 ProcessOne Github提供此類模塊:ejabberd_auth_http

+0

謝謝...要看看這個,看看我們是否能找到工作... –

+0

@ marco-franssen,你是否能夠使它工作?我也在尋找類似問題的解決方案 –

+0

我們還沒有投入時間來這樣做。自定義模塊似乎是最好的選擇。可能我們將使用ejabberd_auth_http模塊將Oauth2作爲本模塊的基礎。 OAuth 2是建立在HTTP協議之上的。 –