Utilizamos um fluxo SSO do Discourse que implementamos com base neste guia: Setup DiscourseConnect - Official Single-Sign-On for Discourse (sso)
Funcionou bem para nós. Mas agora queremos permitir que os usuários do nosso sistema alterem seu e-mail, e isso parece estar causando problemas.
Quando altero o e-mail do meu usuário no nosso sistema, o SSO para o Discurso deixa de funcionar.
Erro de Login
Há um problema com sua conta. Entre em contato com o administrador do site.
Acho que o Discourse recebe um payload com um e-mail e um nome de usuário que não correspondem e não sabe o que fazer.
Qual é a melhor maneira de lidar com isso?
A melhor ideia que tive é usar a API do Discourse para alterar o e-mail do usuário no Discourse para corresponder ao do nosso sistema antes de iniciar o SSO.
Mas não sei se isso é possível. Abaixo está minha tentativa falha.
Aqui está minha solicitação:
https://forum-stage.{domain}.com/users/{username}/preferences/email
Cabeçalhos:
Content-Type: application/x-www-form-urlencoded
Accept: application/json
Corpo (como x-www-form-urlencoded no Postman):
email: testemail@testdomain.com
api_key: 75a...77d
api_username: system
E aqui está a resposta que recebo:
{
"errors": [
"Você não tem permissão para visualizar o recurso solicitado."
],
"error_type": "invalid_access"
}