Как аутентифицировать приложение Expo React Native с помощью PKCE и разрешить обновление токена sh? - PullRequest
1 голос
/ 27 мая 2020

Я чувствую, что упускаю здесь один трюк. У нас есть управляемое приложение Expo, и мы пытаемся аутентифицировать пользователя с помощью провайдера идентификации OID C (в нашем случае это Cognito).

Кажется, у нас есть два варианта: expo-auth-session или expo-app-auth.

  • Кажется, что expo-auth-session будет поддерживать поток PKCE, но не имеет механизма для обновления токена.

  • expo-app-auth, с другой стороны, имеет механизм обновления токена, но, похоже, не поддерживает поток PKCE.

Я не хочу увеличивать время ожидания токена, потому что это угроза безопасности. Я также не хочу использовать неявный поток, потому что это также риск для безопасности.

Существует открытый PR против AuthSession, чтобы добавить поддержку токена refre sh, но тот факт, что библиотека была отключена для так долго без него я задаюсь вопросом, не упускаю ли я чего-то.

Любая помощь очень ценится!

1 Ответ

0 голосов
/ 29 мая 2020

AppAuth поддерживает токены PKCE и refre sh и является наиболее рекомендуемым вариантом с точки зрения безопасности, но его сложно реализовать. В React Native есть AppAuth Bridge , хотя у вас будет больше возможностей с родными мобильными технологиями.

У меня есть несколько примеров кода и сообщения в блогах, которые освещают использование AppAuth. Шаги 8-10 каждой публикации демонстрируют PKCE, а шаги 15-16 демонстрируют ссылку на токен sh:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...