2015-06-15 140 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协议之上的。 –