npm.io
4.0.0 • Published 2 years ago

@amraneze/react-instagram-login

Licence
MIT
Version
4.0.0
Deps
0
Size
13 kB
Vulns
0
Weekly
0
Stars
4

npm version npm npm bundle size npm bundle size GitHub release (release name instead of tag name) build

React Instagram Login

An Instagram oAUth Sign-in / Log-in Component for React

Install

npm install @amraneze/react-instagram-login
yarn add @amraneze/react-instagram-login

How to use

With default button
import ReactDOM from 'react-dom';
import { InstagramLogin } from '@amraneze/react-instagram-login';

const responseInstagram = (response) => {
  console.log(response);
};

ReactDOM.render(
  <InstagramLogin
    clientId="CLIENT_ID"
    buttonText="Login"
    onSuccess={responseInstagram}
    onFailure={responseInstagram}
  />,
  document.getElementById("instagramButton")
);

Note: Here is a sandbox to play around.

onSuccess callback

Displaying OAuth using a popup

Note: The redirectUri needs to be the same url as the current url.

Displaying OAuth using a redirection

If you want to use redirection you should change the prop useRedirect to true. Callback will return a code for use on your server to get a full access_token. If implicitAuth is set to true it will return the full access_token directly.

onFailure callback

Callback will return an error object.

property name value
error string
error_reason string
error_description string

Parameters

params value default value
clientId string REQUIRED
scope string user_profile
onSuccess function REQUIRED
onFailure function REQUIRED
redirectUri string -
buttonText string Login with Instagram
cssClass string -
tag string button
type string button
implicitAuth boolean false
useRedirect boolean false
width number 400
height number 800

Instagram API Docs: https://www.instagram.com/developer/

You can now also pass child components such as icons into the button component.

<InstagramLogin
  clientId="CLIENT_ID"
  onSuccess={responseInstagram}
  onFailure={responseInstagram}
>
  <FontAwesome name="instagram" />
  <span> Login with Instagram</span>
</InstagramLogin>

Dev Server

yarn dev

Run Tests

yarn test

Production Bundle

yarn build
TODO
  • Fix the test cases
  • Add templates for PR and Issues
  • Use Google, Facebook, Linkedin ... in this project
Done
  • Use Hooks
  • Update dependencies
  • Create a babel Conf
  • Use prettier + Husky
  • Improve and refactor the code
Follow me on Twitter: @Amraneze

Keywords