ejabberd中的oauth2身份验证支持

Mar*_*rco 4 erlang xmpp ejabberd oauth-2.0

我目前正在寻找如何使用我们自己的应用程序中的oauth2令牌对ejabberd进行身份验证。

是否有可用的解决方案使我能够在自己的产品中进行身份验证,然后使用该oauth2 JWT令牌针对ejabberd进行身份验证。

或者,也许是另一个问题,我该如何同步ejabberd用户和我自己的应用程序用户。

我正在为我们的用户寻找一种单一登录方式。

我看到了使用每次登录时生成的令牌更新ejabberd用户密码的建议。然后只需使用用户名和令牌登录ejabberd。但是,这听起来不像是破解,而是真正的解决方案。

有任何人对此有经验吗?我对Erlang没有任何经验。如果有人可以指出我正确的方向,那就太好了。

Mic*_*ond 5

我看到两种主要的正确方法可以为ejabberd实现基于令牌的身份验证:

  • ejabberd自定义身份验证模块:您可以使用ejabberd hook API为e​​jabberd编写一个自定义身份验证模块。您可以使用现有的Erlang之一ejabberd_auth*.erl作为示例。

  • 使用有助于对HTTP后端进行身份验证并在该后端中执行令牌检查的贡献。这样就无需编写Erlang代码。这样的模块可以在ProcessOne Github上找到:ejabberd_auth_http