1.1.8 • Published 5 years ago

react-social-auth v1.1.8

Weekly downloads
540
License
MIT
Repository
github
Last release
5 years ago

react-social-auth

npm version

Simple client side social authentication for React applications.

Version History/Changelog

See our changelog

Installing

npm install react-social-auth

This package requires lodash/fp, so make sure that's available in your app.

Usage

Client Side Code:

import React from 'react'
import { Button } from 'reactstrap'
import Flex from './Flex'
import { GoogleAuth, LinkedInAuth } from 'react-social-auth'

let GoogleButton = ({ onClick }) => (
  <Button
    style={{ width: 175 }}
    className="cursor-pointer"
    color="primary"
    onClick={onClick}
  >
    <Flex>
      <i className="fa fa-google-plus" />
      Log in with Google
    </Flex>
  </Button>
)

let LinkedInButton = ({ onClick }) => (
  <Button
    style={{ width: 175 }}
    className="cursor-pointer"
    color="primary"
    onClick={onClick}
  >
    <Flex>
      <i className="fa fa-linkedin-square" />
      Log in with LinkedIn
    </Flex>
  </Button>
)

let onSignIn = authPayload => {
  // Use the authentication payload to verify
  // the identity of the request using server
  // side authentication procedures.
  console.log(authPayload)
}

export default () => (
  <Flex>
    <GoogleAuth
      appId="[YOUR_GOOGLE_APP_ID]"
      onSuccess={onSignIn}
      component={GoogleButton}
    />
    <LinkedInAuth
      appId="[YOUR_LINKEDIN_APP_ID]"
      onSuccess={onSignIn}
      component={LinkedInButton}
    />
    <SalesForceAuth
      appId="[YOUR_SALESFORCE_APP_ID]"
      onSuccess={onSignIn}
      component={SalesForceButton}
    />
  </Flex>
)

Server side authentication procedures:

SalesForce server side code:

import jsforce from 'jsforce'

export let salesforce = async (app, { code, redirectUri }) => {
  let { appId, clientSecret } = '[Object containing your API key and secret]'
  let oauth2 = new jsforce.OAuth2({
    loginUrl: 'https://login.salesforce.com',
    clientId: appId,
    clientSecret,
    redirectUri,
  })
  let conn = new jsforce.Connection({ oauth2 })
  await conn.authorize(code)
  let { email } = await conn.chatter.resource('/users/me')
  // More code to lookup user by email and other authentication steps.
}
1.1.8

5 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.45

7 years ago

1.0.44

8 years ago

1.0.43

8 years ago

1.0.42

8 years ago

1.0.41

8 years ago

1.0.40

8 years ago

1.0.38

8 years ago

1.0.37

8 years ago

1.0.36

8 years ago

1.0.35

8 years ago

1.0.34

8 years ago

1.0.33

8 years ago

1.0.32

8 years ago

1.0.31

8 years ago

1.0.30

8 years ago

1.0.29

8 years ago

1.0.28

8 years ago

1.0.27

8 years ago

1.0.26

8 years ago

1.0.25

8 years ago

1.0.24

8 years ago

1.0.23

8 years ago

1.0.22

8 years ago

1.0.21

8 years ago

1.0.20

8 years ago

1.0.18

8 years ago

1.0.17

8 years ago

1.0.16

8 years ago

1.0.15

8 years ago

1.0.14

8 years ago

1.0.13

8 years ago

1.0.12

8 years ago

1.0.11

8 years ago

1.0.10

8 years ago

1.0.9

8 years ago

1.0.8

8 years ago

1.0.6

8 years ago

1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.0.8

8 years ago

0.0.7

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago