@oslojs/oauth2
v0.5.0
Published
A runtime-agnostic OAuth 2.0 library
Downloads
61,189
Readme
@oslojs/oauth2
Documentation: https://oauth2.oslojs.dev
A small JavaScript library for parsing OAuth 2.0 token, token revocation, and device authorization responses by Oslo.
This package follows RFC 6749, RFC 7009, and RFC 8628.
- Runtime-agnostic
- No third-party dependencies
- Fully typed
import { TokenRequestResult } from "@oslojs/oauth2";
const response = await fetch("https://github.com/login/oauth/access_token", {
method: "POST",
body,
headers
});
const data = await response.json();
if (typeof data !== "object" || data === null) {
throw new Error("Unexpected response");
}
const result = new TokenRequestResult(data);
if (result.hasErrorCode()) {
const error = result.errorCode();
throw new Error(`Request failed: ${error}`);
}
const accessToken = result.accessToken();
const accessTokenExpiresAt = result.accessTokenExpiresAt();
const refreshToken = result.refreshToken();
Installation
npm i @oslojs/oauth2