Skip to content
This repository has been archived by the owner. It is now read-only.
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

React Native : AWS Cognito Module

Deprecated! This library is not actively developed. Check out react-native-aws-cognito-js instead.

react-native-cognito provides a React Native module for integrating with AWS Cognito.

Features currently supported:

  • dataset:synchronize


  • dataset:subscribe
  • dataset:unsubscrib
  • proper callbacks + events
  • promises
  • twitter auth support
  • google auth support
  • custom login support

Supported Identity Providers

Currently the following identity providers are supported:

  • Facebook

In development:

  • Twitter
  • Google


react-native-cognito does not handle authentication with identity providers such as Facebook. You have to use react-native-facebook-login or similar to get a valid access token to use with react-native-cognito.

AWS Mobile SDK

Make sure you install the AWS Mobile SDK.

Example Usage

import React from 'react-native';
import Cognito from 'react-native-cognito';
import LoginStore from '../stores/LoginStore';

let region = 'eu-west-1';
let identityPoolId = 'your_cognito_identity_pool_id';

class Demo extends React.Component {
    constructor() {
        // Load login credentials from flux store.
        this.state = LoginStore.getState();

        // Provide credentials to Cognito.
            this.state.credentials.token, // <- Facebook access token

        // Sync data
        Cognito.syncData('testDataset', 'hello', 'world', (err) => {
            // callback
            // handle errors etc

Install -- iOS

First, install via npm:

$ npm install --save react-native-cognito

Add RCTCognito.xcodeproj to Libraries and add libRCTCognito.a to Link Binary With Libraries under Build Phases. More info and screenshots about how to do this is available in the React Native documentation.

Next, select RCTCognito.xcodeproj and add your AWS SDK path to Framework Search Paths under Build Settings.

Install -- Android

Disclaimer: experimental i.e., don't use

Step 1 - Gradle Settings

Edit android/settings.gradle and add the following lines:

include ':react-native-cognito'
project(':react-native-cognito').projectDir = new File(rootProject.projectDir, '../node-modules/react-native-cognito/android')

Step 2 - Gradle Build

Edit android/app/build.gradle:

dependencies {
    compile project(':react-native-cognito')

Step 3 - Register Package

Edit android/app/src/main/java/com/myApp/

// Import package
import com.morcmarc.rctcognito.ReactCognitoPackage;


public class MainActivity extends Activity implements DefaultHardwareBackBtnHandler {

    // declare package
    private ReactCognitoPackage mReactCognitoPackage;


    protected void onCreate(Bundle savedInstanceState) {
        mReactRootView = new ReactRootView(this);
        // Instantiate package
        mReactCognitoPackage = new ReactCognitoPackage(this);
        mReactInstanceManager = ReactInstanceManager.builder()

                // Register the package


Step 4 - Permissions

You might have to add the following permission to your AndroidManifest.xml:

<uses-permission android:name="android.permission.INTERNET" />



This software is licensed under the MIT License.

React and React Native are BSD licensed. Facebook also provide an additional patent grant.


AWS Cognito integration module for React Native



You can’t perform that action at this time.