Аутентификация Apple в Discourse

:warning: Для использования этого плагина вам потребуется доступ к платному аккаунту разработчика Apple.

:discourse2: Краткое описание Discourse Apple Authentication позволяет пользователям входить в систему с помощью аутентификации Apple.
:open_book: Руководство по установке Этот плагин включен в ядро Discourse. Отдельная установка плагина не требуется.

Чтобы попробовать, перейдите на try.discourse.org и войдите в систему. Вот демонстрация работы на iOS:

Для настройки вам потребуется выполнить несколько действий в консоли разработчика Apple:

  1. Перейдите на Sign In - Apple и войдите в систему

  2. Настройте идентификатор приложения (App ID)

    • Перейдите в раздел “Сертификаты, идентификаторы и профили”
    • В левом меню выберите “Идентификаторы”
    • Нажмите кнопку +, чтобы создать новый идентификатор
    • Выберите “App IDs”, затем нажмите “Продолжить”
    • Выберите “App”, затем нажмите “Продолжить”
    • Введите описание (будет видно пользователям в их списке разрешенных приложений). Например, “Awesome Community Login”
    • Введите идентификатор пакета (bundle ID). Apple рекомендует использовать обратный домен, например com.example.forum
    • Прокрутите вниз и включите опцию “Sign in with Apple”
    • Нажмите “Продолжить”
    • Запишите Team ID для последующего использования
    • Нажмите “Зарегистрировать”
  3. Настройте идентификатор сервиса (Services ID)

    • Перейдите в раздел “Сертификаты, идентификаторы и профили”
    • Нажмите кнопку +, чтобы создать новый идентификатор
    • Выберите “Services ID”, затем нажмите “Продолжить”
    • Введите описание. Оно будет отображаться пользователям при входе в систему. Например, “Awesome Discourse Community”
    • Введите идентификатор пакета. Можно использовать тот же, что и для App ID, добавив в конце .login
    • Запишите этот идентификатор пакета для последующего использования. Он будет выступать в роли Client ID
    • Нажмите “Продолжить”, затем “Зарегистрировать”
    • Найдите созданный идентификатор сервиса в списке и откройте его
    • Включите “Sign in with Apple” и нажмите “Настроить”
    • Введите домен вашего сайта, например forum.example.com, и обратный URL, например https://forum.example.com/auth/apple/callback
      Скриншот

    • Нажмите “Далее”, “Готово”, “Продолжить”, “Сохранить”
  4. Настройте ключ (Key)

    • В левом меню выберите “Keys”
    • Нажмите +, чтобы создать новый ключ
    • Введите имя, например “Awesome Community Login”
    • Включите опцию ‘Sign In With Apple’, затем нажмите “Настроить”
    • Выберите основной идентификатор приложения (App ID), созданный ранее
    • Нажмите “Сохранить”, затем “Продолжить”
    • Нажмите “Зарегистрировать”
    • Запишите Key ID для последующего использования
    • Скачайте ключ и сохраните его в надежном месте. Он будет использоваться как значение apple_pem
    • Нажмите “Готово”
  5. Перейдите к настройкам вашего сайта Discourse

    • Найдите apple_
    • Введите client id, team id и key id, полученные ранее
    • Откройте файл ключа в текстовом редакторе, выделите всё содержимое и скопируйте/вставьте его в настройку сайта apple pem
    • Включите опцию sign in with apple enabled

Теперь попробуйте: если всё прошло по плану, на экране входа должна появиться кнопка “with Apple”.

Приватные адреса электронной почты

Если пользователи выберут опцию «Скрыть мой адрес электронной почты» при входе в систему, форуму будет предоставлен адрес Apple «Private Relay» для этого пользователя. Чтобы ваш форум мог взаимодействовать с этим адресом, его необходимо подтвердить в Apple.

  1. Перейдите на Sign In - Apple и войдите в систему

  2. Перейдите в раздел «Сертификаты, идентификаторы и профили»

  3. В левом меню выберите «Ещё», затем под разделом «Sign in with Apple для электронной коммуникации» нажмите «Настроить»

  4. Нажмите + рядом с «Источники электронной почты»

  5. В разделе «Домены» введите доменное имя, с которого ваш сайт отправляет письма. (для клиентов, размещенных на CDCK, это discoursemail.com)

  6. Сохраните изменения и убедитесь, что SPF подтвержден для этого адреса

Обратите внимание: указание здесь отдельного адреса электронной почты нарушит функцию «ответ по электронной почте» в Discourse. Необходимо добавить весь домен целиком.

36 лайков

Спасибо за это. Когда я начну действительно развивать своё сообщество, это и вход через Google действительно помогут людям регистрироваться. Мне потребовалось несколько попыток, чтобы всё настроить, но теперь у меня всё работает отлично.

1 лайк

:partying_face: Этот плагин теперь включён в ядро Discourse в рамках Bundling more popular plugins with Discourse core. Если вы ведёте собственный хостинг и используете этот плагин, вам нужно удалить его из файла app.yml перед следующим обновлением.

1 лайк

Только как примечание: я попытался настроить это, и в моем случае требуется платить ежегодный взнос, около 125 долларов США в год!

3 лайка

Для бесплатного варианта вы также можете настроить свой сайт на использование Discourse ID, который включает Apple в качестве одного из вариантов входа.

6 лайков