Estendendo botões de cabeçalho

Olá - herdamos um fórum Discourse que está bem estabelecido. Gostaria de modificar a funcionalidade do botão de cabeçalho “criar conta”.

Consegui instalar o plug-in Ember Chrome que usei para inspecionar os botões - ele revelou um caminho:

​/​var​/​www​/​discourse​/​app​/​assets​/​javascripts​/​discourse​/​node_modules​/​.embroider​/​rewritten-app​/​components​/​header​/​auth-buttons.js

Não tenho certeza, mas acho que o JS relacionado está aqui?

Tenho acesso ao painel de administração do fórum, posso navegar em ‘Componentes’, mas não vejo uma entrada para esses botões. Vi alguns componentes “de teste” usados, tentei habilitar um deles e copiar o conteúdo do arquivo auth-buttons.gjs para a seção comum do cabeçalho, mas ao tentar salvar, recebi erros.

Então, minha pergunta é: como posso estender e personalizar a funcionalidade desses botões?

Obrigado antecipadamente.

Olá, o que você está tentando fazer com esses botões?

Queremos que os usuários se registrem em nosso site principal - o login da conta funcionará então para o fórum…

Você realmente precisa usar SSO. O Discourse se adaptará automaticamente ao seu provedor de sso assim que for configurado corretamente.

5 curtidas

Já estamos usando SSO - o fórum autentica os usuários através do mesmo provedor do nosso site principal. No entanto, quando um usuário se registra para uma conta no fórum, queremos simplesmente direcioná-lo para o site principal - qual é a melhor maneira de fazer isso?

Você tem certeza absoluta de que realmente quer fazer isso? Do ponto de vista dos usuários, alguém está tentando enganá-los. Eles estavam interessados em um fórum e, após o registro, se encontrarão em outro lugar.

1 curtida

Desative todos os outros métodos de autenticação (incluindo logins locais), deixando apenas o SSO como opção de login. Isso enviaria automaticamente os usuários para fazer login em seu site principal.

4 curtidas

Se você configurá-lo corretamente, acredito que ele redirecionará de volta após o login?

A autenticação funciona - é o botão "signup" que queremos personalizar para ir para o site principal…

Foi o que sugeri acima.

2 curtidas

Eu concordo. Se configurado corretamente, os botões de login e cadastro padrão levarão ao site principal. Você não precisa mexer na interface do usuário padrão.

1 curtida

então deve haver uma opção em algum lugar no admin onde eu possa especificar a URL externa para o processo de inscrição?

Não, esses parâmetros são fornecidos pelo seu provedor de SSO. O Discourse apenas exibirá o botão “entrar” no cabeçalho e enviará o usuário para o seu endpoint de autenticação fornecido pelo provedor de SSO.

Grande se… Já vi soluções semelhantes com muita frequência. O principal objetivo é então transferir um usuário permanentemente de volta ao site principal onde a venda acontece. Mas totalmente bom se o objetivo for semelhante ao que o Google faz, onde se dá um pequeno desvio para autorizar e depois se volta ao fórum.

1 curtida

Olá :wave:

Aqui está um componente de tema com o qual você pode adicionar um botão de inscrição personalizado. Acabei de atualizar para funcionar com as novas alterações principais.

Então, se os logins locais estiverem desativados, o botão irá direto para a autenticação sso?

Sim. É isso que acontece se o SSO for o único método de autenticação.

1 curtida

Certo, então se o SSO está preocupado apenas com a autenticação, como ele ajudará aqui quando eu precisar que a opção “criar conta” redirecione para o meu site principal?

Não haverá um botão de inscrição assim que o SSO for configurado corretamente. Em seguida, você poderá usar o componente que @Don vinculou acima para adicionar um botão personalizado de criação de conta.