All Projects → xcarpentier → React Native Linkedin

xcarpentier / React Native Linkedin

Licence: mit
🔗 React-Native LinkedIn, a simple LinkedIn login library for React-Native or Expo with WebView and Modal

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to React Native Linkedin

Login With
Stateless login-with microservice for OAuth
Stars: ✭ 2,301 (+1178.33%)
Mutual labels:  linkedin, login
Linkedinsignin
Simple view controller to log in and retrieve an access token from LinkedIn.
Stars: ✭ 31 (-82.78%)
Mutual labels:  linkedin, login
react-linkedin-login-oauth2
Easily get Authorization Code from Linked In to log in without redirecting.
Stars: ✭ 83 (-53.89%)
Mutual labels:  login, linkedin
Socialite
Socialite is an OAuth2 Authentication tool. It is inspired by laravel/socialite, you can easily use it without Laravel.
Stars: ✭ 1,026 (+470%)
Mutual labels:  linkedin, login
Oauth
🔗 OAuth 2.0 implementation for various providers in one place.
Stars: ✭ 336 (+86.67%)
Mutual labels:  linkedin, login
Social Login Helper Deprecated
A simple android library to easily implement social login into your android project
Stars: ✭ 81 (-55%)
Mutual labels:  linkedin, login
Vue Facebook Login
💅 A renderless Vue.js component for composing Facebook Login
Stars: ✭ 158 (-12.22%)
Mutual labels:  login
Slimsocial For Facebook
Light version of Facebook. Light both in the weight and in the use.
Stars: ✭ 171 (-5%)
Mutual labels:  webview
Electron Navigation
A Node.js module that adds a navigation interface to Electron which allows you to browse the internet or view local HTML files with tabs and webviews.
Stars: ✭ 156 (-13.33%)
Mutual labels:  webview
Relay Authentication
An example app demonstrating role based authentication and file upload with Relay and GraphQL.
Stars: ✭ 153 (-15%)
Mutual labels:  login
Loginpass
Login with Google, GitHub, Twitter, Facebook and many other networks.
Stars: ✭ 177 (-1.67%)
Mutual labels:  login
Sam
Steam Account Manager / Switcher
Stars: ✭ 172 (-4.44%)
Mutual labels:  login
Flutter Login Page Ui
Flutter Beautiful Login Page UI/UX design and Animation - day 12 Flutter Animation and UI Design.
Stars: ✭ 162 (-10%)
Mutual labels:  login
Easybridge
A design of easy js-bridge which provide the ability to communicate between java and javascript.It is based on the android webview's feature [addJavaScriptInterface]
Stars: ✭ 158 (-12.22%)
Mutual labels:  webview
Linkedin Learning Downloader
Linkedin Learning videos downloader
Stars: ✭ 171 (-5%)
Mutual labels:  linkedin
Magento 2 Social Login
Magento 2 Social Login extension is designed for quick login to your Magento 2 store without procesing complex register steps
Stars: ✭ 156 (-13.33%)
Mutual labels:  linkedin
Supertokens Core
Open source alternative to Auth0 / Firebase Auth / AWS Cognito
Stars: ✭ 2,907 (+1515%)
Mutual labels:  login
Spark Pac4j
Security library for Sparkjava: OAuth, CAS, SAML, OpenID Connect, LDAP, JWT...
Stars: ✭ 154 (-14.44%)
Mutual labels:  login
Buttercup Browser Extension
🌏 Buttercup browser extension
Stars: ✭ 164 (-8.89%)
Mutual labels:  login
Linkedin Profile Scraper
🕵️‍♂️ LinkedIn profile scraper returning structured profile data in JSON. Works in 2020.
Stars: ✭ 171 (-5%)
Mutual labels:  linkedin

react-native-linkedin

🔗 React-Native LinkedIn

Simple LinkedIn login library for React-Native with WebView into a Modal


Benefits

  • Light: No need to link a native library like others alternatives
  • Simple: Get the token and the expires, you handle your own login with the access_token
  • Sure: open-source
  • Almost readable & understandable code: JavaScript & React

Installation

$ yarn add react-native-linkedin

Security

Please note that you should give your linkedin client id but not your secret key to this component. You should be aware that key can be found if you store it directly to your code. I strongly recommend to not declare client secret key on your code but found a way to keep it secret

  <LinkedInModal
    shouldGetAccessToken={false}
    clientSecret={null}
    clientID="[ Your client id from https://www.linkedin.com/developer/apps ]"
    redirectUri="[ Your redirect uri set into https://www.linkedin.com/developer/apps ]"
    onSuccess={{ authentication_code } => console.log(`Post this ${authentication_code} to your server.`)}
  />

Example

// See ./App.tsx file for details
import React from 'react'
import { StyleSheet, View } from 'react-native'

import LinkedInModal from 'react-native-linkedin'

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#fff',
    justifyContent: 'center',
    alignItems: 'center',
  },
})

export default class AppContainer extends React.Component {
  linkedRef = React.createRef<LinkedInModal>()
  render() {
    return (
      <View style={styles.container}>
        <LinkedInModal
          ref={this.linkedRef}
          clientID="[ Your client id from https://www.linkedin.com/developer/apps ]"
          clientSecret="[ Your client secret from https://www.linkedin.com/developer/apps ]"
          redirectUri="[ Your redirect uri set into https://www.linkedin.com/developer/apps ]"
          onSuccess={token => console.log(token)}
        />
        <Button title="Log Out" onPress={this.linkedRef.current.logoutAsync()} />
      </View>
    )
  }
}

Props

Name Type Required Default Description
clientID string required Your client id
clientSecret string use shouldGetAccessToken={false} and read authorization_code onSuccess return Should not be stored in app WARNING! Your client secret
redirectUri string required Your redirectUri
onSuccess function required Function will be call back on success
authState string optional require('uuid').v4() The state of auth, to be more secure
onError function optional console.error(err) Function will be call back on error
onClose function optional Function will be call back on close modal
onOpen function optional Function will be call back on open modal
onSignIn function optional Function will be call back when the user sign in
permissions array optional 'r_liteprofile', 'r_emailaddress' The LinkedIn access token permissions
renderButton function optional Render function for customize LinkedIn button
renderClose function optional Render function for customize close button
linkText string optional 'Login with LinkedIn' Link label
containerStyle ViewPropTypes.style optional Customize container style
wrapperStyle ViewPropTypes.style optional Customize wrapper style
closeStyle ViewPropTypes.style optional Customize close style
animationType Modal.propTypes.animationType optional fade Customize animationType style: 'none', 'slide' or 'fade'
shouldGetAccessToken bool optional true Set to false to receive the 'authorization code' rather then the 'access token'
areaTouchText object optional {top: 20, bottom: 20, left: 50, right: 50} Set values for to increase the text touch area

Contribution

PRs are welcome!

FAQ

Is it supported and tested both on android and iOS?

YES

How to logout react-native-linkedin?

<View style={styles.container}>
    <LinkedInModal
      ref={this.linkedRef}
      clientID="[ Your client id from https://www.linkedin.com/developer/apps ]"
      clientSecret="[ Your client secret from https://www.linkedin.com/developer/apps ]"
      redirectUri="[ Your redirect uri set into https://www.linkedin.com/developer/apps ]"
      onSuccess={token => console.log(token)}
    />
    <Button title="Log Out" onPress={this.linkedRef.current.logoutAsync()} />
</View>

Other questions

Feel free to contact me or create an issue

Alternatives

Hire an expert!

Looking for a ReactNative freelance expert with more than 12 years of experience? Contact me from my website!

Licence

MIT

made with ♥

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].