O servidor Ejabberd não anuncia autenticação externa

1

Eu tenho um servidor ejabberd configurado para usar a autenticação com um script Java externo, no entanto, quando tento efetuar login no servidor do meu cliente Java usando o Smack, recebo o seguinte SmackException:

No supported and enabled SASL Mechanism provided by server. Server announced 
mechanisms: [PLAIN, X-OAUTH2]. Registered SASL mechanisms with Smack: [SASL 
Mech: SCRAM-SHA-1-PLUS, Prio: 100, SASL Mech: SCRAM-SHA-1, Prio: 110, SASL 
Mech: DIGEST-MD5, Prio: 210, SASL Mech: PLAIN, Prio: 410, SASL Mech: X- 
OAUTH2, Prio: 410, SASL Mech: ANONYMOUS, Prio: 500, SASL Mech: EXTERNAL, 
Prio: 510]. Enabled SASL mechanisms for this connection: [EXTERNAL]. 
Blacklisted SASL mechanisms: [SCRAM-SHA-1-PLUS].

Presumivelmente, os mecanismos "Registered SASL com Smack:" e "Enable SASL mecanismos para esta conexão:" mecanismos listados são definidos no lado do cliente (ambos mostram EXTERNAL na exceção acima) mas por que o servidor apenas anuncia o PLAIN? e mecanismos X-OAUTH2? Existe alguma maneira que eu possa fazer o servidor anunciar EXTERNO? Por exemplo, sei como desativar mecanismos específicos no arquivo ejabberd.yml, por exemplo,

disable_sasl_mechanisms: ["PLAIN", "X-OAUTH2"]

mas parece não haver equivalente para ativar mecanismos.

Aqui está o que eu tenho atualmente no arquivo ejabberd.yml sob a seção AUTENTICAÇÃO:

auth_method: external
extauth_program: "java -jar /opt/ejabberd/conf/auth.jar"
extauth_instances: 1
auth_use_cache: false

Quaisquer pensamentos sobre o que estou fazendo errado?

    
por aa3154 06.04.2018 / 17:30

0 respostas

Tags