view mod_auth_oauthbearer/README.markdown @ 4939:7d6ae8bb95dc

mod_delegation: use clean_xmlns to remove jabber:client namespace from node: for the same reason as in mod_privilege, `jabber:client` namespace is removed with the clean_xmlns method coming from there. Furthermore, the forwarded <iq> stanza use the `jabber:client` xmlns while the stanza may come from a component with e.g. `jabber:component:accept` xmlns, this can lead to inconsistencies between the <iq> stanza and children (like <error> element).
author Goffi <goffi@goffi.org>
date Sat, 28 May 2022 16:42:13 +0200
parents 1a1affd22f74
children
line wrap: on
line source

---
labels:
- 'Type-Auth'
summary: OAuth authentication
...

Introduction
============

This is an authentication module for the SASL OAUTHBEARER mechanism, as provided by `mod_sasl_oauthbearer`.

You can use this to log in via OAuth, for example if you want your user's to log in with Github, Twitter, Reddit etc.

The XMPP client needs get an OAuth token from the provider (e.g. Github) and send that to Prosody.
This module will then verify that token by calling the `oauth_url` you've configured.

Configuration
=============

Per VirtualHost, you'll need to supply your OAuth client Id, secret and the URL which
Prosody must call in order to verify the OAuth token it receives from the XMPP client.

For example, for Github:

	oauth_client_id = "13f8e9cc8928b3409822"
	oauth_client_secret = "983161fd3ah608ea7ef35382668aad1927463978"
	oauth_url = "https://api.github.com/applications/{{oauth_client_id}}/tokens/{{password}}";

	authentication = "oauthbearer"