¿Puedo usar la API de Discourse para autenticar usuarios en otra aplicación?

Aquí hay 20 líneas de código Python que hacen aproximadamente lo mismo que el código de React Native al que se refiere @renato (excepto que no hay compatibilidad con Discourse 2.5; no lo necesito).

Funciona bien, asumiendo que estás utilizando el inicio de sesión básico basado en nombre de usuario y contraseña. Aún así, investigaré los métodos alternativos, utilizando el inicio de sesión SSO de Discourse según lo configurado en la instancia de Discourse.

import requests
import json

def discourse_authenticate(url, name, password):
    session = requests.Session()
    session.headers.update({'X-Requested-With': 'XMLHttpRequest'})
    r1 = session.get(url + '/session/csrf')
    csrf_token = json.loads(r1.text).get('csrf')
    r2 = session.post(url + '/session',
        data={
            'login': name,
            'password': password,
            'authenticity_token': csrf_token,
        },
    )
    if r2.status_code != 200:
        return None
    return json.loads(r2.text)