PUT /u/{username}.json não altera o email

De acordo com a API Docs do Discourse (Discourse API Docs), deve ser possível alterar o e-mail através do endpoint referenciado.

  1. Use este endpoint da API: PUT /u/{username}.json
  2. Use este corpo de requisição:
{
    "Name": "Test Name",
    "Email": "test@test.com"
}
  1. Recebido 200 OK. O nome será alterado, o e-mail não.

A resposta não contém o campo “email”.

1 curtida

Recomendo que você engenharia reversa da API do Discourse e veja qual chamada de API usar.

2 curtidas

Olá xbd,

De acordo com a documentação, a alteração do e-mail usa este endpoint: /u/{username}/preferences/email.json: https://docs.discourse.org/#tag/Users/operation/updateEmail

No entanto, um link de confirmação será enviado para o endereço de e-mail para aprovação manual pelo usuário. Até lá, o e-mail não será alterado.

5 curtidas

Obrigado pela sua ajuda. Talvez seja útil remover a propriedade de e-mail do PUT /u/{username.json} na documentação. Poderia economizar tempo gasto em depuração ;-).

A questão do e-mail de confirmação: Li sobre isso em outro tópico. Não entendi o ponto. Apenas por precaução, o Discourse é uma aplicação entre muitas outras no projeto e a autenticação de usuários é tratada por um servidor de autenticação feito sob medida (como no meu caso). O servidor de autenticação cuida da confirmação de e-mail. As aplicações devem apenas fazer o que o servidor de autenticação diz. Na minha opinião, esta é a maneira normal. Caso contrário, virá com múltiplos e-mails de confirmação, conjuntos de dados diferentes…

2 curtidas

Obrigado por levantar isso. Isso é realmente estranho. Pode ser um resquício de uma era passada. Vou obter algumas informações e atualizar a documentação, se necessário. :+1:

2 curtidas

A configuração administrativa auth overrides email (autenticação substitui e-mail) ajuda com isso?

4 curtidas

Então você precisa configurá-lo para informar ao Discourse que o endereço de e-mail foi validado e não atualizar o e-mail na API, mas em seu servidor de autenticação.

2 curtidas

Obrigado novamente por levantar isso e desculpe pelo tempo gasto em depuração. A documentação da API foi atualizada.

3 curtidas