npm.io
1.1.3 • Published 6 years ago

react-native-lomo-http

Licence
Version
1.1.3
Deps
0
Size
216 kB
Vulns
0
Weekly
0

react-native-react-native-lomo-http

description:

features

  • lmz oauth (AuthenticationService) token saving, token refreshing (TODO)
  • login screens (namespace select & login)

Todo's:

  • authed http wrappers
  • refrsh plain / refresh apollo gql modules

Getting started

$ npm install react-native-react-native-lomo-http --save

peer dependencies (besides react-native/ react!) $ npm install react-native --save && npm install @types/react-native --save-dev $ npm install react-native-keychain && react-native link react-native-keychain

Mostly automatic installation

$ react-native link react-native-react-native-lomo-http

Manual installation
iOS
  1. In XCode, in the project navigator, right click LibrariesAdd Files to [your project's name]
  2. Go to node_modulesreact-native-react-native-lomo-http and add RNReactNativeLomoHttp.xcodeproj
  3. In XCode, in the project navigator, select your project. Add libRNReactNativeLomoHttp.a to your project's Build PhasesLink Binary With Libraries
  4. Run your project (Cmd+R)<
Android
  1. Open up android/app/src/main/java/[...]/MainActivity.java
  • Add import com.reactlibrary.RNReactNativeLomoHttpPackage; to the imports at the top of the file
  • Add new RNReactNativeLomoHttpPackage() to the list returned by the getPackages() method
  1. Append the following lines to android/settings.gradle:
    include ':react-native-react-native-lomo-http'
    project(':react-native-react-native-lomo-http').projectDir = new File(rootProject.projectDir,     '../node_modules/react-native-react-native-lomo-http/android')
  2. Insert the following lines inside the dependencies block in android/app/build.gradle:
    compile project(':react-native-react-native-lomo-http')

Usage (App configuration)

import {StackNavigator} from 'react-navigation'
import {LoginStack, LoginConfig, AuthenticationService} from 'react-native-lomo-http';


const Router = StackNavigator({ 
    LoginStack,
    MyApp //My internal app component, aka all authenticated stuff
})

// LoginStack / auth config.

//this is the lmz driver clientSecret.  Ideally get your own clientSecret?
AuthenticationService.addConfig({clientSecret: "0NPr5wfQ3zM1W0o9KAr8yGa1auB28cx8"})

LoginConfig.success = () => {
    //navigate to MyApp, something like...
    navigation.navigate('MyApp')
}

LoginError.error = (error) => {
    //present error? Login error!
}

export default Router


Keywords