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: about 2 hours 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-10-25T12:14:54.000Z (13 days ago)
- Last Synced: 2024-10-26T12:31:09.252Z (12 days ago)
- Topics: authentication, oauth2, typescript
- Language: TypeScript
- Homepage:
- Size: 558 KB
- Stars: 1,026
- Watchers: 2
- Forks: 61
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Arctic
**Documentation: [arcticjs.dev](https://arcticjs.dev)**
Arctic is a collection of OAuth 2.0 clients for popular providers. It only supports the authorization code grant type and intended to be used server-side. Built on top of the Fetch API, it's light weight, fully-typed, and runtime-agnostic.
```
npm install arctic
``````ts
import { GitHub, generateState } from "arctic";const github = new GitHub(clientId, clientSecret);
const state = 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
- 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
- Tiltify
- Tumblr
- Twitch
- VK
- WorkOS
- Yahoo
- Yandex
- Zoom