Skip to main content

ejabberd extauth script for OIDC Password Grant Flow

This script enables the use of OIDC providers for password login in ejabberd. It uses the Password Grant, which is considered legacy. However, with ejabberd lacking proper OIDC support, it is a viable work-around.

Installation

It is best to install the script using pip until it gets available in distributions:

sudo pip install --break-system-packages ejhabberd-extauth-oidc-password

This makes the script available at /usr/local/bin/ejabberd_extauth_oidc_password.

Configuration

Configuring the script

The script needs the following information about the OIDC provider:

  • Issuer URL
  • Token URL
  • Client ID
  • Client secret

Then, the script can be configured in /etc/ejabberd/extauth/oidc_password.yml:

handler:
  test.example.com:  # one block per XMPP server domain
    issuer: https://idp.example.com
    token_url: https://idp.example.com/oauth/token/
    client_id: myclient_abcd
    client_secret: top_secret

Configuring ejabberd

For ejabberd, follow the instructions for configuring external authentication. Set extauth_program to /usr/local/bin/ejabberd_extauth_oidc_password.

Metadata

Release files for ejabberd-extauth-oidc-password 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ejabberd-extauth-oidc-password 1.0.1
File Size Uploaded
ejabberd_extauth_oidc_password-1.0.1.tar.gz 2.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ejabberd-extauth-oidc-password 1.0.1
File Interpreter ABI Platform
ejabberd_extauth_oidc_password-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 5.3 kB

Release files / ejabberd_extauth_oidc_password-1.0.1.tar.gz

Download URL ejabberd_extauth_oidc_password-1.0.1.tar.gz
Size 2.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5da3154a9110f2705d985689fddd03885931742833537a24fa29db20c8b7a174
BLAKE2b-256 checksum
How to use checksums
dc249f9450f34ecb3f7f0fac075adf33a667fd9a186b1fc31ce817af17b2fa7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.11.9

Release files / ejabberd_extauth_oidc_password-1.0.1-py3-none-any.whl

Download URL ejabberd_extauth_oidc_password-1.0.1-py3-none-any.whl
Size 3.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d801e2e0087ea215d46e1064da669ac8d8e373f8b1796076d36979cb7c5ab22e
BLAKE2b-256 checksum
How to use checksums
88fe1d4e8d8d9e3b43b472bf689959a674c8f50dd74f7b45c9b807f125cc6bce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.0 CPython/3.11.9

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page