
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
react-twitter-auth-light
Advanced tools
A Twitter logging component based on callbacks. You can manage everything.
A React Twitter oAUth Sign-in / Log-in Component for React
npm install react-twitter-auth-light
<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>
| params | value | default value | description |
|---|---|---|---|
| tag | string | button | tag that should be used to create element that will be used as loging element |
| text | string | Sign in with Twitter | text that will be shown in component |
| loginUrl | string | URL that will be used to finish 3rd step of authentication process | |
| requestTokenUrl | string | URL that will be used to get request token | |
| onFailure | function | function that will be called if user cannot be authenticated | |
| onSuccess | function | function that will be called if user is successfully authenticated | |
| disabled | boolean | false | disable component |
| style | object | style object | |
| className | string | class name for component | |
| dialogWidth | number | 600 | dialog width |
| dialogHeight | number | 400 | dialog height |
| credentials | string | same-origin | indicates whether the user agent should send cookies from the other domain in the case of cross-origin requests. Possible values: omit, same-origin, include |
| customHeaders | object | {} | 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. |
| children | node | this props can be used in order to override default component content | |
| forceLogin | bool | false | force user to authenticate with Twitter username and password |
| screenName | string | prefills the username input box of the OAuth login screen with the given value | |
| fetchMethod | string | POST | fetch method GET or POST or PUT |
| fetchRequestToken | function | callback to handle requesting token by yourself | |
| fetchOauthToken | function | callback to handle login by yourself |
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.
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.

react-twitter-auth is released under MIT License.
FAQs
A Twitter logging component based on callbacks. You can manage everything.
We found that react-twitter-auth-light demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.