Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pilcrowonpaper/arctic
OAuth 2.0 clients for popular providers
https://github.com/pilcrowonpaper/arctic
authentication oauth2 typescript
Last synced: 4 days ago
JSON representation
OAuth 2.0 clients for popular providers
- Host: GitHub
- URL: https://github.com/pilcrowonpaper/arctic
- Owner: pilcrowonpaper
- License: mit
- Created: 2023-11-02T07:15:13.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-29T02:24:49.000Z (14 days ago)
- Last Synced: 2025-01-03T12:45:26.079Z (9 days ago)
- Topics: authentication, oauth2, typescript
- Language: TypeScript
- Homepage:
- Size: 678 KB
- Stars: 1,239
- Watchers: 2
- Forks: 77
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- jimsghstars - pilcrowonpaper/arctic - OAuth 2.0 clients for popular providers (TypeScript)
README
# Arctic
**Documentation: [arcticjs.dev](https://arcticjs.dev)**
Arctic is a collection of OAuth 2.0 clients for popular providers. Only the authorization code flow is supported. Built on top of the Fetch API, it's light weight, fully-typed, and runtime-agnostic.
```
npm install arctic
``````ts
import * as arctic from "arctic";const github = new arctic.GitHub(clientId, clientSecret);
const state = arctic.generateState();
const scopes = ["user:email"];
const authorizationURL = github.createAuthorizationURL(state, scopes);// ...
const tokens = await github.validateAuthorizationCode(code);
const accessToken = tokens.accessToken();
```> Arctic only supports providers that follow the OAuth 2.0 spec (including PKCE and token revocation).
## 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
- Authentik
- Battle.net
- Bitbucket
- Box
- Bungie
- Coinbase
- Discord
- Dribbble
- Dropbox
- Etsy
- Epic Games
- Figma
- GitHub
- GitLab
- Intuit
- Kakao
- Lichess
- Line
- Linear
- Microsoft Entra ID
- MyAnimeList
- Naver
- Notion
- Okta
- osu!
- Patreon
- Polar
- Roblox
- Salesforce
- Shikimori
- Slack
- Spotify
- Start.gg
- Strava
- TikTok
- Tiltify
- Tumblr
- Twitch
- VK
- WorkOS
- Yahoo
- Yandex
- Zoom