Создание аутентификации Expo (React Native) с помощью Logto
Узнайте, как создать поток аутентификации пользователя в Expo (React Native), интегрировав Logto SDK.
Узнайте, как создать поток аутентификации пользователя в Expo (React Native), интегрировав Logto SDK.
В этом руководстве мы покажем вам, как создать поток аутентификации пользователей с помощью Expo (React Native), интегрируя Logto SDK. В руководстве используется TypeScript в качестве языка программирования.
Перед началом убедитесь, что у вас есть следующее:
Чтобы начать, создайте приложение Logto с типом "Native". Следуйте этим шагам для создания приложения Logto:
Затем вы увидите интерактивное руководство, которое проведет вас через процесс интеграции Logto SDK с вашим приложением Expo (React Native). Следующее содержание может служить справочным материалом для будущего использования.
Установите Logto SDK и его пира зависимость через ваш любимый менеджер пакетов:
Пакет @logto/rn является SDK для Logto. Остальные пакеты являются его пировыми зависимостями. Они не могут быть перечислены как прямые зависимости, потому что Expo CLI требует, чтобы все зависимости для нативных модулей были установлены непосредственно в корневом проекте package.json.
Импортируйте и используйте LogtoProvider, чтобы обеспечить контекст Logto:
Перейдите на страницу деталей приложений в Logto Console. Добавьте URI перенаправления для нативных приложений (например, io.logto://callback), затем нажмите «Сохранить».
Для iOS схема URI перенаправления по сути не важна, так как класс ASWebAuthenticationSession будет отслеживать URI перенаправления, независимо от того, зарегистрирован он или нет.
Для Android схема URI перенаправления должна быть указана в файле app.json Expo, например:
Теперь вернитесь в ваше приложение, вы можете использовать хук useLogto для входа и выхода:
Чтобы отобразить информацию о пользователе, вы можете использовать метод getIdTokenClaims():
Теперь вы можете запустить приложение и попробовать войти/выйти с помощью Logto:
Если у вас возникнут какие-либо проблемы во время интеграции, не стесняйтесь присоединиться к нашему серверу Discord, чтобы пообщаться с сообществом и командой Logto!