Аутентификация 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
    • Прокрутите вниз и включите опцию «Вход через Apple»
    • Нажмите «Продолжить»
    • Запишите Team ID для дальнейшего использования
    • Нажмите «Register»
  3. Настройте Services ID

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

    • Далее нажмите «Done», «Continue», «Save»
  4. Настройте ключ

    • В левом меню нажмите «Keys»
    • Нажмите +, чтобы создать новый ключ
    • Введите имя, например «Awesome Community Login»
    • Включите опцию «Sign In With Apple», затем нажмите «Configure»
    • Выберите основной App ID, который вы создали ранее
    • Нажмите «Save», затем «Continue»
    • Нажмите «Register»
    • Запишите Key ID для дальнейшего использования
    • Скачайте ключ и сохраните его в безопасном месте. Он понадобится для значения apple_pem
    • Нажмите «Done»
  5. Перейдите к настройкам сайта Discourse

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

Теперь попробуйте — если все прошло по плану, на экране входа должна появиться кнопка «Вход через Apple».

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

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

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

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

  3. В левом меню нажмите «More», затем «Configure» в разделе «Sign in with Apple for Email Communication»

  4. Нажмите + рядом с «Email Sources»

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

  6. Нажмите «Save» и убедитесь, что SPF-запись для адреса верифицирована

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

36 лайков

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

1 лайк

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

1 лайк

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

3 лайка

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

6 лайков