{"id":13606531,"url":"https://github.com/pilcrowOnPaper/arctic","last_synced_at":"2025-04-12T08:31:25.052Z","repository":{"id":205076153,"uuid":"713268941","full_name":"pilcrowonpaper/arctic","owner":"pilcrowonpaper","description":"OAuth 2.0 clients for popular providers","archived":false,"fork":false,"pushed_at":"2025-03-27T01:43:34.000Z","size":736,"stargazers_count":1419,"open_issues_count":11,"forks_count":88,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-10T19:04:56.905Z","etag":null,"topics":["authentication","oauth2","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pilcrowonpaper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"pilcrowOnPaper"}},"created_at":"2023-11-02T07:15:13.000Z","updated_at":"2025-04-10T12:18:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"b4c69b31-28b3-45fe-a9d5-916bcc1a377e","html_url":"https://github.com/pilcrowonpaper/arctic","commit_stats":{"total_commits":294,"total_committers":35,"mean_commits":8.4,"dds":0.326530612244898,"last_synced_commit":"618ea5525ba92b30390e77a986ff289ee6b8d241"},"previous_names":["pilcrowonpaper/arctic"],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilcrowonpaper%2Farctic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilcrowonpaper%2Farctic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilcrowonpaper%2Farctic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pilcrowonpaper%2Farctic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pilcrowonpaper","download_url":"https://codeload.github.com/pilcrowonpaper/arctic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248539859,"owners_count":21121247,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","oauth2","typescript"],"created_at":"2024-08-01T19:01:09.980Z","updated_at":"2025-04-12T08:31:25.046Z","avatar_url":"https://github.com/pilcrowonpaper.png","language":"TypeScript","funding_links":["https://github.com/sponsors/pilcrowOnPaper"],"categories":["TypeScript"],"sub_categories":[],"readme":"# Arctic\n\n**Documentation: [arcticjs.dev](https://arcticjs.dev)**\n\nArctic 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.\n\n```\nnpm install arctic\n```\n\n```ts\nimport * as arctic from \"arctic\";\n\nconst github = new arctic.GitHub(clientId, clientSecret);\n\nconst state = arctic.generateState();\nconst scopes = [\"user:email\"];\nconst authorizationURL = github.createAuthorizationURL(state, scopes);\n\n// ...\n\nconst tokens = await github.validateAuthorizationCode(code);\nconst accessToken = tokens.accessToken();\n```\n\n\u003e Arctic only supports providers that follow the OAuth 2.0 spec (including PKCE and token revocation).\n\n## Semver\n\nArctic 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.\n\n## Supported providers\n\n- 42 School\n- Amazon Cognito\n- AniList\n- Apple\n- Atlassian\n- Auth0\n- Authentik\n- Autodesk Platform Services\n- Battle.net\n- Bitbucket\n- Box\n- Bungie\n- Coinbase\n- Discord\n- DonationAlerts\n- Dribbble\n- Dropbox\n- Etsy\n- Epic Games\n- Facebook\n- Figma\n- Gitea\n- GitHub\n- GitLab\n- Google\n- Intuit\n- Kakao\n- KeyCloak\n- Kick\n- Lichess\n- Line\n- Linear\n- LinkedIn\n- Mastodon\n- MercadoLibre\n- MercadoPago\n- Microsoft Entra ID\n- MyAnimeList\n- Naver\n- Notion\n- Okta\n- osu!\n- Patreon\n- Polar\n- Reddit\n- Roblox\n- Salesforce\n- Shikimori\n- Slack\n- Spotify\n- Start.gg\n- Strava\n- Synology\n- TikTok\n- Tiltify\n- Tumblr\n- Twitch\n- Twitter\n- VK\n- WorkOS\n- Yahoo\n- Yandex\n- Zoom\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FpilcrowOnPaper%2Farctic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FpilcrowOnPaper%2Farctic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FpilcrowOnPaper%2Farctic/lists"}