0.2.1-beta.0 • Published 3 years ago

@reignmodule/oauth2-client v0.2.1-beta.0

Weekly downloads
16
License
ISC
Repository
github
Last release
3 years ago

Client OAuth2

How to install

npm install @reignmodule/oauth2-client

Configure client OAuth2

import { ClientOAuth2 } from '@reignmodule/oauth2-client';

const client = new ClientOAuth2({
  authorizationUri: 'https://auth.sample/sigup',
  tokenUri: 'https://auth.sample/token',
  scope: 'profile users.write',
  clientId: '4f71bd80a86e3df3',
  clientSecret: '544fd3b90454f71303530379ee38',
  redirectUri: 'https://app.sample/complete_auth',
});

Authorization Code Grant

Get Authorization URI

client.getAutorizationUri().uri;
// https://auth.sample/sigup
// ?response_type=code
// &state=7ca3c6082c56908bcfc9497b2d8c9371
// &client_id=4f71bd80a86e3df3
// &scope=profile%20users.write
// &redirect_uri=https%3A%2F%2Fapp.sample%2Fcomplete_auth

HTML Form

<form method="GET" action="https://auth.sample/sigup">
  <input type="hidden" name="response_type" value="code"/>
  <input type="hidden" name="state" value={client.state}/>
  <input type="hidden" name="client_id" value={client.clientId}/>
  <input type="hidden" name="scope" value={client.scope}/>
  <input type="hidden" name="redirect_uri" value={client.redirectUri}/>
</form>

Authorization Code Exchange

// URL: https://app.sample/complete_auth?state=7ca3c6082c56908bcfc9497b2d8c9371&code=7b2d8c9371
// queryState: 7ca3c6082c56908bcfc9497b2d8c9371
// queryCode: 7b2d8c9371

if (queryState!==client.state) {
  throw new Error('state no valid');
}

client.exchangeCode(code)
  .then(()=>{
    // Autorization done!!
  });
0.2.1-beta.0

3 years ago

0.2.0-beta.4

3 years ago

0.2.0-beta.2

3 years ago

0.2.0-beta.1

3 years ago

0.1.1-beta.8

4 years ago

0.1.1-beta.6

4 years ago

0.1.1-beta.5

4 years ago

0.1.1-beta.7

4 years ago

0.1.1-beta.4

4 years ago

0.1.1-beta.3

4 years ago

0.1.1-beta.2

4 years ago

0.1.1-beta.1

4 years ago

0.1.1-beta

4 years ago

0.1.0-beta

4 years ago