Autenticação Apple no Discourse

:warning: Para usar este plugin, você precisará de acesso a uma conta de desenvolvedor Apple paga.

:discourse2: Resumo Discourse Apple Authentication permite que os usuários façam login usando a autenticação da Apple.
:open_book: Guia de Instalação Este plugin vem embutido no núcleo do Discourse. Não há necessidade de instalar o plugin separadamente.

Para testar, acesse try.discourse.org e faça login. Aqui está uma demonstração do recurso funcionando no iOS:

Para configurar, você precisará ajustar várias coisas no console de desenvolvedor da Apple:

  1. Acesse Sign In - Apple e faça login

  2. Configure um App ID

    • Acesse “Certificates, Identities, and Profiles”
    • Clique em “Identifiers” no menu à esquerda
    • Clique no botão + para criar um novo identificador
    • Selecione “App IDs” e continue
    • Selecione “App” e continue
    • Insira uma descrição (visível para os usuários na lista de aplicativos autorizados). Por exemplo, “Login da Comunidade Incrível”
    • Insira um Bundle ID. A Apple recomenda inverter o nome do seu domínio, como com.example.forum
    • Role para baixo e ative o “Sign in with Apple”
    • Clique em “Continue”
    • Anote o Team ID para uso posterior
    • Clique em “Register”
  3. Configure um Services ID

    • Acesse “Certificates, Identities, and Profiles”
    • Clique no botão + para criar um novo identificador
    • Selecione “Services ID” e continue
    • Insira uma descrição. Isso será mostrado aos usuários quando eles fizerem login. Por exemplo, “Comunidade Discourse Incrível”
    • Insira um Bundle ID. Você pode usar o mesmo do App ID, adicionando .login ao final
    • Anote este Bundle ID para uso posterior. Ele será o Client ID
    • Clique em Continue e Register
    • Encontre o Service ID na lista e abra-o
    • Ative o Sign in with Apple e clique em “Configure”
    • Insira o domínio do seu site, como forum.example.com, e uma URL de callback, como https://forum.example.com/auth/apple/callback
      Captura de tela

    • Em seguida, clique em Done, Continue e Save
  4. Configure uma Chave (Key)

    • Clique em “Keys” no menu à esquerda
    • Clique em + para criar uma nova chave
    • Insira um nome, como “Login da Comunidade Incrível”
    • Ative “Sign In With Apple” e clique em “Configure”
    • Escolha o App ID principal que você criou anteriormente
    • Clique em Save e Continue
    • Clique em Register
    • Anote o Key ID para uso posterior
    • Baixe a chave e guarde-a com segurança. Ela será o valor de apple_pem
    • Clique em Done
  5. Acesse as configurações do seu site no Discourse

    • Pesquise por apple_
    • Insira o client id, team id e key id obtidos anteriormente
    • Abra o arquivo da chave em um editor de texto, selecione todo o conteúdo e copie/cole-o na configuração do site apple pem
    • Ative sign in with apple enabled

Agora teste novamente — se tudo correr conforme o planejado, você deverá ver um botão “Login com Apple” na tela de login.

E-mails Privados

Se os usuários escolherem “ocultar meu e-mail” durante o login, o fórum receberá um endereço de ‘private relay’ da Apple para o usuário. Para permitir que seu fórum se comunique com esse endereço, você precisa verificá-lo com a Apple.

  1. Acesse Sign In - Apple e faça login

  2. Acesse “Certificates, Identities, and Profiles”

  3. Clique em “More” à esquerda e depois em “Configure” em ‘Sign in with Apple for Email Communication’

  4. Clique em + ao lado de Email Sources

  5. Em ‘Domains’, insira o nome de domínio do qual seu site envia e-mails. (para clientes hospedados pela CDCK, este é discoursemail.com)

  6. Clique em Save e verifique se o SPF está verificado para o endereço

Observe que inserir um endereço de e-mail individual aqui quebrará o recurso de ‘responder por e-mail’ do Discourse. Você deve adicionar o domínio inteiro.

36 curtidas

Obrigado por isso. Quando eu começar a realmente crescer minha comunidade, isso e o login do Google realmente ajudarão as pessoas a se inscreverem. Levei um tempo para fazer funcionar, mas consegui sem problemas.

1 curtida

:partying_face: Este plugin agora está incluído no core do Discourse como parte de Bundling more popular plugins with Discourse core. Se você auto-hospeda e usa o plugin, precisa removê-lo do seu app.yml antes da sua próxima atualização.

1 curtida

Apenas como nota: Tentei configurar isso e você precisa pagar uma taxa anual, no meu caso, cerca de 125 USD por ano!

3 curtidas

Para uma opção gratuita, você também pode configurar seu site para usar o Discourse ID, que inclui a Apple como uma das opções de login.

6 curtidas