Автор оригинала: Atanda Abdul-Semiu.
Аутентификация – это неотъемлемая часть любого приложения – особенно когда мы хотим добавить некоторые разрешения или ограничивать доступ к определенным представлениям.
Чтобы начать работу, убедитесь, что у вас установлено следующее:
- Oddjs.
- Реагировать
- Сторожевой
- Android-студия
- Xcode.
Если у вас нет ни одного из вышеперечисленного, вы можете установить их на MacOS следующим образом:
- Nodejs:
$ Brew Установка узла - React-Nature CLI:
$ NPM I -G React - Nature-CLI - Watchman:
$ Brew Install Watchman - Android Studio: можно скачать здесь
- Xcode: можно скачать из App Store
NB: У вас должен быть доместитель установлен для использования команды Brew. Предполагается, что читатель использует Mac OSX
Шаг 1 (Инициализация приложения аутентификации и установка FBSDK и Google-Signin)
Теперь, когда мы установили все, что нам нужно, давайте начнем!
Выключите свой терминал и запустите следующие команды:
inter in inity initucial аутентификация$ CD аутентификация$ raction-atnation install intercative-fbsdk @ 0.6.0$ raction-atnation install install active-google-signin$ React - родной run-iOS
У вас должен быть экран, похожий на один ниже после выполнения вышеуказанных команд
Шаг 2 (Настройка FBSDK в нашем приложении)
Facebook SDK Посетить https://developers.facebook.com и создать новое приложение
- Конфигурация iOS
открыть $.(Это откроет ваш текущий каталог в Finder)- Открыть аутентификацию .xCodeProj
- Следуйте шагу 2-11 здесь
- Конфигурация Android
- Откройте вашу папку Android приложения аутентификации в Android Studio
- Следуйте инструкциям здесь
После последующих шагов выше, откройте наш уровень приложения
build.gradleи обновить следующее:Compitesdkversion: 25.Цельцдкверсия: 23.Зависимости {compile "com.android.support:appcompat-v7:25.0.0"//меняется с 23.0.1}
- Обновите свой Android Mainest, как описано здесь Отказ
- Беги
$ React - родной Run-Android
После того, как вышеуказанные шаги были завершены, давайте напишем наше
ВходКомпонент и проверьте нашу конфигурацию:- Конфигурация iOS
Создать папку
КомпонентыВ нашем каталоге приложений и добавьте новый файлLogin.js.Скопируйте код ниже в
Login.js.
import React, {Component} from 'react';
import {LoginManager} from 'react-native-fbsdk';
import {TouchableOpacity, Text, View} from 'react-native';
export default class LogIn extends Component {
fbAuth() {
LoginManager.logInWithReadPermissions(['public_profile']).then(
function (result) {
if (result.isCancelled) {
console.log('Login was cancelled');
} else {
console.log('Login was successful with permissions: '
+ result.grantedPermissions.toString());
}
},
function (error) {
console.log('Login failed with error: ' + error);
}
);
}
render() {
return (
Login with Facebook
);
}
}
- Импортируйте наш новый компонент в
App.jsВ корневом каталоге нашего приложения. Его содержимое должно выглядеть похоже на код ниже:
import React, {Component} from 'react';
import {
StyleSheet,
View
} from 'react-native';
import LogIn from './components/LogIn';
export default class App extends Component<{}> {
render() {
return (
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
});
Теперь давайте остановимся текущим экземпляром нашего приложения и запустите $ React - родной Run-iOS на терминал снова. Наш экран приложения должен выглядеть похоже на экран ниже
Давайте проверим, что наши логины работает, нажав Войти с Facebook Отказ Мы должны получить экран, аналогичный тем ниже или получить экран, запрашивающий нас ввести наши учетные данные Facebook
Шаг 3 (Настройте аутентификацию Google)
- Конфигурация iOS
Давайте откроем наше приложение
node_modulesпапка и найтиReact - Nature-Google-Signinи открыть егоIOSпапка. Это должно выглядеть как изображение ниже:Перетащите
Rngoooglesignin.xcodeProjв наш проект XcodeБиблиотекиГруппа, как показано ниже- Открыть
GooglesdkПапка и перетащите все файлы, которые заканчиваются.frameworkвРамкиГруппа нашего приложения и Убедитесь, что «элементы копирования, если это необходимо». - Следуйте шагам 2-3 здесь
- Конфигурация Android
- Следуйте инструкциям здесь Отказ
После завершения выше шагов добавьте следующие методы нашего компонента входа:
componentDidMount() {
this.setupGoogleSignin();
}
googleAuth() {
GoogleSignin.signIn()
.then((user) => {
console.log(user);
})
.catch((err) => {
console.log('WRONG SIGNIN', err);
})
.done();
}
async setupGoogleSignin() {
try {
await GoogleSignin.hasPlayServices({ autoResolve: true });
await GoogleSignin.configure({
iosClientId: settings.iOSClientId,
webClientId: settings.webClientId,
offlineAccess: false
});
const user = await GoogleSignin.currentUserAsync();
console.log(user);
}
catch (err) {
console.log("Google signin error", err.code, err.message);
}
}
Кроме того, в нашем методике рендеринга компонента входа в систему добавьте Google Login Кнопка, как показано ниже:
Login with Google
Теперь давайте остановим наш текущий процесс приложения и запустите $ React - родной Run-iOS очередной раз. Наш экран должен выглядеть следующим образом:
Давайте проверим, что наши логины работает, нажав Войти с Google Отказ Мы должны получить экран, аналогичный этому ниже или получить экран, запрашивающий нас ввести наши учетные данные Google
Резюме
Теперь, когда у нас есть аутентификация, настроенная в нашем приложении, мы можем настроить сохраняющую информацию о пользователе любым способом, которым мы хотим. Исходный код для этой статьи можно найти здесь Отказ