xcarpentier / React Native Linkedin
Licence: mit
🔗 React-Native LinkedIn, a simple LinkedIn login library for React-Native or Expo with WebView and Modal
Stars: ✭ 180
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
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
Linkedin Profile Scraper
🕵️♂️ LinkedIn profile scraper returning structured profile data in JSON. Works in 2020.
Stars: ✭ 171 (-5%)
Mutual labels: 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 | |
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
- @xcarpentier The main author.
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
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].