Подтвердить что ты не робот

Как я могу добавить свои рельсы для разработки входа/регистрации в приложение React Native?

Я создал приложение React Native, которое использует мое приложение Rails в качестве задней части, и я дошел до того, что мне нужно получить работу аутентификации. Пользователь должен иметь возможность входа в систему так же, как и через приложение rails, которое использует Devise. Я не понимаю, как реализовать это в React Native/iOS.

4b9b3361

Ответ 1

вам нужно использовать аутентификацию токена. Посмотрите раздел "Аутентификация" этого большого учебника, вы найдете базовую реализацию с помощью Devise: http://fancypixel.github.io/blog/2015/01/28/react-plus-flux-backed-by-rails-api/

В принципе, как только вы настроили аутентификацию маркера на бэкэнд, вы поместите форму для входа в свое реагирующее собственное приложение, после чего вы отправляете кредиты на бэкэнд и получаете токен, который вы затем сохраняете в своем состоянии приложения ( или вы можете сохранить его в asyncstore). Затем вы присоединяете токен к каждому запросу в бэкэнд в HTTP-заголовке.

Ответ 2

Вы также можете просто выполнить базовую авторизацию. React Native сохраняет cookie для вас, как обычный браузер. Единственное, что вам нужно - это сохранить токен CSRF, чтобы вы могли делать запросы "post". Если вам нужно только "получить", вам даже не нужен токен csrf.

Ответ 3

Я написал примерный проект, который показывает, как аутентифицироваться через React Native Webview для входа в существующий бэкэнд. https://github.com/ryanmcdermott/react-native-login

Ответ 4

Взгляните на эту статью, где я подробно написал, как ее достичь:

https://medium.com/@sankalpsingha/creating-react-native-authentication-with-a-rails-backend-39d94e359984

В принципе, вам нужно использовать систему проверки подлинности на основе токенов. Для части Rails вы можете использовать драгоценный камень, как простой-токен-auth. Он распространяется на Devise и добавляет обратно в него систему Token.

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

Затем вы можете использовать токен для отправки всех дальнейших запросов для доступа к аутентифицированным маршрутам.