Нужна помощь с настройками сертификатов, идентификаторов и профилей, чтобы разрешить двум приложениям использовать функцию «Вход с помощью Apple».
Справочная информация:
У нас есть веб-приложение (React, статический JavaScript), которое позволяет пользователям входить в систему с помощью Apple, Google или Microsoft через OAuth/OIDC.
Мы разрабатывают мобильное приложение с использованием React Native и Expo.
И веб-приложение, и мобильное приложение используют один и тот же бэкэнд (Django).
Для В мобильном приложении мы добавили вход в Google и Microsoft через один и тот же веб-поток OAuth/OIDC. Для входа в систему с Apple мы используем пакет expo-apple-authentication, чтобы получить необходимые встроенные возможности входа в систему.
У нас есть два активных идентификатора приложения:
- org.terraso.terraso; веб-приложение; основной Apple ID
- org.terraso.test.Teraso-LandPKS; мобильное яблоко; Группа с существующим основным идентификатором приложения (выбрано (1), веб-приложение)
- org.terraso.app; основной идентификатор — веб-приложение (идентификатор приложения 1), указанное выше; URL-адреса настроены
- group.org .terraso (кажется, не используется)
https://github.com/techmatters/terraso- backend/blob/abc655e83eaca849e2bc24389946cc4f0bcd9d48/terraso_backend/apps/auth/providers.py#L84
и для APPLE_CLIENT_ID установлено значение org.terraso.app (что соответствует идентификатору службы, указанному выше< /p>
В моей локальной среде разработки я попробовал несколько различных комбинаций идентификаторов, пытаясь заставить это работать с помощью симулятора iOS:
(i) Идентификатор внутреннего клиента: org.terraso.app
Идентификатор пакета мобильного приложения: org.terraso.test.Terraso-LandPKS
результат: ошибка: jwt.Exceptions.InvalidAudienceError: Audience не соответствует
(ii) серверная часть: org.terraso.app
мобильное приложение: org.terraso.appрезультат: нажатие кнопки «Войти» в диалоговом окне Apple ID не выполняется (нет ошибок со стороны клиента или сервера)
(iii) серверная часть: org.terraso.test.Terraso -LandPKS
мобильное приложение: org.terraso.test.Terraso-LandPKS
результат: работает (но я не могу использовать его в производстве, поскольку идентификатор клиента неправильный )
Как настроить вход через Apple, чтобы веб-приложение, мобильное приложение (и, возможно, дополнительные мобильные приложения) работали с одним и тем же сервером?
Нужны ли мне создавать группы приложений? Когда вы используете группы приложений, а не «группу с существующим основным идентификатором Apple»?
Подробнее здесь: https://stackoverflow.com/questions/783 ... h-a-shared
Мобильная версия