New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

react-twitter-auth-light

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-twitter-auth-light

A Twitter logging component based on callbacks. You can manage everything.

latest
Source
npmnpm
Version
0.3.1
Version published
Maintainers
1
Created
Source

NPM npm version License

React Twitter Authentication Component

A React Twitter oAUth Sign-in / Log-in Component for React

Installation

npm install react-twitter-auth-light

Usage

<TwitterLogin
  loginUrl="http://localhost:4000/api/v1/auth/twitter"
  onFailure={this.onFailed}
  onSuccess={this.onSuccess}
  requestTokenUrl="http://localhost:4000/api/v1/auth/twitter/reverse"
/>

Custom content that overrides default content:

<TwitterLogin
  loginUrl="http://localhost:4000/api/v1/auth/twitter"
  onFailure={this.onFailed}
  onSuccess={this.onSuccess}
  requestTokenUrl="http://localhost:4000/api/v1/auth/twitter/reverse"
  showIcon={true}
  customHeaders={customHeader}
>
  <b>Custom</b> Twitter <i>Login</i> content
</TwitterLogin>

Custom content and handling by callbacks:

  const [twitterData, setTwitterData] = useState({});

  const fetchTwitterRequestToken = () => {
    return new Promise((resolve, reject) => {
      authApi.socialLoginRequest().then((data) => {
        const { oauth_token } = data;
        setTwitterData(data);
        resolve({ oauth_token })
      }, reject)
    });
  };
  
  const fetchTwitterOauthToken = (oauth_verifier, oauth_token) => {
    return new Promise((resolve) => {
      const twitter_data = {
        ...twitterData,
        oauth_token,
        oauth_verifier
      };
      authApi.socialLogin(twitter_data).then(resolve, reject);
    });
  };
<TwitterLogin
  fetchRequestToken={fetchTwitterRequestToken}
  fetchOauthToken={fetchTwitterOauthToken}
  onFailure={this.onFailed}
  onSuccess={this.onSuccess}
  tag="span"
>
  <button>login with twitter</button>
</TwitterLogin>

Options

paramsvaluedefault valuedescription
tagstringbuttontag that should be used to create element that will be used as loging element
textstringSign in with Twittertext that will be shown in component
loginUrlstringURL that will be used to finish 3rd step of authentication process
requestTokenUrlstringURL that will be used to get request token
onFailurefunctionfunction that will be called if user cannot be authenticated
onSuccessfunctionfunction that will be called if user is successfully authenticated
disabledbooleanfalsedisable component
styleobjectstyle object
classNamestringclass name for component
dialogWidthnumber600dialog width
dialogHeightnumber400dialog height
credentialsstringsame-originindicates whether the user agent should send cookies from the other domain in the case of cross-origin requests. Possible values: omit, same-origin, include
customHeadersobject{}custom headers should be object with fields that needs to be sent to user server. Field name will be used as header key and field value as header value. Because of bug in fetch implementation all keys will be lowercase.
childrennodethis props can be used in order to override default component content
forceLoginboolfalseforce user to authenticate with Twitter username and password
screenNamestringprefills the username input box of the OAuth login screen with the given value
fetchMethodstringPOSTfetch method GET or POST or PUT
fetchRequestTokenfunctioncallback to handle requesting token by yourself
fetchOauthTokenfunctioncallback to handle login by yourself

Examples

Full example can be found in example folder.

You can find tutorial that explains in details how to implement Twitter authentication with RESTful backend here.

Workflow

The detailed explanation of the whole process can be found in Twitter documentation. In picture below you can find out all the steps that are needed.

Twitter authentication workflow

License

react-twitter-auth is released under MIT License.

Keywords

React

FAQs

Package last updated on 16 Feb 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts