Skip to content

Instantly share code, notes, and snippets.

// 2️⃣ onRegister: Trust this device
const onRegister = () => {
var cotter = new Cotter(
API_KEY_ID, // 👈 Specify your API KEY ID here
email,
);
cotter.trustedDevice.enrollDevice(
(resp) => { alert('Register Device Success'), console.log(resp) },
(errMsg, err) => { alert(errMsg), console.log(err) },
);
// 2️⃣ onLogin: Sign In with Device
const onLogin = () => {
var cotter = new Cotter(
API_KEY_ID, // 👈 Specify your API KEY ID here
email,
);
cotter.trustedDevice.requestAuth(
'LOGIN',
(resp) => { alert('Login Success'), console.log(resp) },
(errMsg, err) => { alert(errMsg), console.log(err) },
{/* 3️⃣ Call onRegister and onLogin on the buttons */}
<TouchableOpacity style={styles.button} onPress={onRegister}>
<Text style={[styles.text, styles.signupText]}>Register</Text>
</TouchableOpacity>
<TouchableOpacity style={styles.buttonLogin} onPress={onLogin}>
<Text style={[styles.text, styles.loginText]}>Sign in with device</Text>
</TouchableOpacity>
yarn add react-native-cotter react-native-device-info rn-secure-storage react-native-randombytes react-native-camera react-native-svg react-native-securerandom buffer react-native-inappbrowser-reborn react-native-sha256
npx pod-install ios
// App.js
// 1️⃣ Import Cotter's Wrapper
import {connectCotterWrapper} from 'react-native-cotter';
function App() {...}
// 1️⃣ At the bottom: Wrap your root component with Cotter's wrapper
export default connectCotterWrapper(App);
// 2️⃣ Import Cotter's package
import { Cotter } from "react-native-cotter";
npx react-native init PenguinApp
cd PenguinApp
npx react-native run-ios
npx react-native run-ios
npm install -g @angular/cli