pilcrowOnPaper / arctic

OAuth 2.0 clients for popular providers

Home Page:https://arctic-reddit.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Arctic

Arctic is an OAuth 2.0 library for JavaScript/TypeScript that supports numerous providers. It's light weight, fully-typed, and runtime-agnostic. Read the documentation →

import { GitHub, generateState } from "arctic";

const github = new GitHub(clientId, clientSecret);

const state = generateState();
const authorizationURL = await github.createAuthorizationURL(state, {
	scopes: ["user:email"]
});

const tokens = await github.validateAuthorizationCode(code);

For a flexible OAuth 2.0 client, see oslo/oauth2.

Arctic only supports providers that strictly follow the OAuth 2.0 spec (including PKCE).

Semver

Arctic does not strictly follow semantic versioning. While we aim to only introduce breaking changes in major versions, we may introduce them in a minor update if a provider updates their API in a non-backward compatible way. However, they will never be introduced in a patch update.

Supported providers

  • 42 School
  • Amazon Cognito
  • AniList
  • Apple
  • Atlassian
  • Auth0
  • Bitbucket
  • Box
  • Coinbase
  • Discord
  • Dribbble
  • Dropbox
  • Facebook
  • Figma
  • Github
  • GitLab
  • Google
  • Intuit
  • Kakao
  • Keycloak
  • Lichess
  • Line
  • Linear
  • LinkedIn
  • Microsoft Entra ID
  • MyAnimeList
  • Notion
  • Okta
  • osu!
  • Patreon
  • Reddit
  • Roblox
  • Salesforce
  • Shikimori
  • Slack
  • Spotify
  • Strava
  • Tiltify
  • Tumblr
  • Twitch
  • Twitter
  • VK
  • WorkOS
  • Yahoo
  • Yandex
  • Zoom

About

OAuth 2.0 clients for popular providers

https://arctic-reddit.vercel.app

License:MIT License


Languages

Language:TypeScript 99.3%Language:JavaScript 0.7%