Neverending Prototype Mode
Need private packages and team management tools?Check out npm Orgs. »

react-twitch-ext-onauthorized

2.0.0 • Public • Published

react-twitch-ext-onauthorized

Travis Build Status AppVeyor Build status Maintainability Test Coverage Greenkeeper badge

React hook performing authorization with Twitch Extensions JavaScript Helper. It calls twitch.ext.onauthorized and returns authorization object.

While onauthorized is not the only method offered by The Extensions JavaScript Helper, it is one of the most important building blocks of each Twitch Extension.

Install

npm install --save react-twitch-ext-onauthorized

Usage

Example:

import useTwitchAuth from 'react-twitch-ext-onauthorized';
 
const MyElement = () => {
  const twitchAuth = useTwitchAuth();
  return (
    <div>TestElement {JSON.stringify(twitchAuth)}</div>
  );
}

When authorization succeeds, twitchAuth contains the following properties:

{
  authorized: true,
  channelId: 'channel id goes here',
  clientId: 'client id goes here',
  token: 'token goes here',
  userId: 'user id goes here',
}

When loaded outside of Twitch context, twitchAuth properties contain empty strings and authorized property will remain false:

{
  authorized: false,
  channelId: '',
  clientId: '',
  token: '',
  userId: '',
}

Note that you still have to provide Twitch JavaScript Helper yourself so that window.Twitch.ext resolves correctly -- see Twitch docs on adding the Extension Helper.

TypeScript

react-twitch-ext-onauthorized exposes two interfaces which can be used for type checking: TwitchAuthResponse and TwitchAuthObject.

To import them into your project add

import { TwitchAuthResponse } from 'react-twitch-ext-onauthorized';
 
// OR
 
import { TwitchAuthObject } from 'react-twitch-ext-onauthorized';
 

TwitchAuthResponse

Represents the shape of authorization object received from Twitch.

interface TwitchAuthResponse {
  channelId: string;
  clientId: string;
  token: string;
  userId: string;
}

TwitchAuthObject

Contains Twitch authorization object (TwitchAuthResponse) and a property authorized which denotes whether authorization was successful:

interface TwitchAuthObject {
  authorized: boolean;
  channelId: string;
  clientId: string;
  token: string;
  userId: string;
}

License

Code is available under MIT license. See LICENSE for more information.

Install

npm i react-twitch-ext-onauthorized

DownloadsWeekly Downloads

183

Version

2.0.0

License

MIT

Unpacked Size

8.29 kB

Total Files

7

Last publish

Collaborators

  • avatar