or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

auth-handlers.mdclient-credentials.mdcore-oauth2.mdendpoints.mdgoogle-auth.mdgoogle-downscope.mdgoogle-external-account.mdindex.mdjira-oauth.mdjwt-jws.md
tile.json

endpoints.mddocs/

Provider Endpoints

Pre-configured OAuth2 endpoints for 30+ popular services including Google, GitHub, Microsoft, social platforms, and more.

Package

import "golang.org/x/oauth2/endpoints"

Overview

The endpoints package and provider-specific packages provide ready-to-use OAuth2 endpoint configurations for major identity providers. These eliminate the need to manually configure AuthURL and TokenURL for common services.

Usage

import (
	"golang.org/x/oauth2"
	"golang.org/x/oauth2/endpoints"
	"golang.org/x/oauth2/google" // Provider-specific package
)

// Using endpoints package
config := &oauth2.Config{
	ClientID:     "your-client-id",
	ClientSecret: "your-client-secret",
	Endpoint:     endpoints.Google,
	Scopes:       []string{"email", "profile"},
}

// Or using provider-specific package
config := &oauth2.Config{
	ClientID:     "your-client-id",
	ClientSecret: "your-client-secret",
	Endpoint:     google.Endpoint,
	Scopes:       []string{"email", "profile"},
}

Cloud Platforms

Google

// golang.org/x/oauth2/endpoints
var Google = oauth2.Endpoint{
	AuthURL:       "https://accounts.google.com/o/oauth2/auth",
	TokenURL:      "https://oauth2.googleapis.com/token",
	DeviceAuthURL: "https://oauth2.googleapis.com/device/code",
}

// golang.org/x/oauth2/google
var Endpoint = oauth2.Endpoint{
	AuthURL:       "https://accounts.google.com/o/oauth2/auth",
	TokenURL:      "https://oauth2.googleapis.com/token",
	DeviceAuthURL: "https://oauth2.googleapis.com/device/code",
	AuthStyle:     oauth2.AuthStyleInParams,
}

Package: golang.org/x/oauth2/google

Microsoft Azure

// golang.org/x/oauth2/endpoints
var Microsoft = oauth2.Endpoint{
	AuthURL:  "https://login.live.com/oauth20_authorize.srf",
	TokenURL: "https://login.live.com/oauth20_token.srf",
}

func AzureAD(tenant string) oauth2.Endpoint

// golang.org/x/oauth2/microsoft
var LiveConnectEndpoint = oauth2.Endpoint{
	AuthURL:  "https://login.live.com/oauth20_authorize.srf",
	TokenURL: "https://login.live.com/oauth20_token.srf",
}

func AzureADEndpoint(tenant string) oauth2.Endpoint

Example:

// Common tenant
endpoint := endpoints.AzureAD("")
// or
endpoint := endpoints.AzureAD("common")

// Specific tenant
endpoint := endpoints.AzureAD("tenant-id")

Package: golang.org/x/oauth2/microsoft

Amazon / AWS

// golang.org/x/oauth2/endpoints
var Amazon = oauth2.Endpoint{
	AuthURL:  "https://www.amazon.com/ap/oa",
	TokenURL: "https://api.amazon.com/auth/o2/token",
}

func AWSCognito(domain string) oauth2.Endpoint

// golang.org/x/oauth2/amazon
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://www.amazon.com/ap/oa",
	TokenURL: "https://api.amazon.com/auth/o2/token",
}

Example:

endpoint := endpoints.AWSCognito("https://mydomain.auth.us-east-1.amazoncognito.com")

Package: golang.org/x/oauth2/amazon

Development Platforms

GitHub

// golang.org/x/oauth2/endpoints
var GitHub = oauth2.Endpoint{
	AuthURL:       "https://github.com/login/oauth/authorize",
	TokenURL:      "https://github.com/login/oauth/access_token",
	DeviceAuthURL: "https://github.com/login/device/code",
}

// golang.org/x/oauth2/github
var Endpoint = endpoints.GitHub

Package: golang.org/x/oauth2/github

GitLab

// golang.org/x/oauth2/endpoints
var GitLab = oauth2.Endpoint{
	AuthURL:       "https://gitlab.com/oauth/authorize",
	TokenURL:      "https://gitlab.com/oauth/token",
	DeviceAuthURL: "https://gitlab.com/oauth/authorize_device",
}

// golang.org/x/oauth2/gitlab
var Endpoint = endpoints.GitLab

Package: golang.org/x/oauth2/gitlab

Bitbucket

// golang.org/x/oauth2/endpoints
var Bitbucket = oauth2.Endpoint{
	AuthURL:  "https://bitbucket.org/site/oauth2/authorize",
	TokenURL: "https://bitbucket.org/site/oauth2/access_token",
}

// golang.org/x/oauth2/bitbucket
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://bitbucket.org/site/oauth2/authorize",
	TokenURL: "https://bitbucket.org/site/oauth2/access_token",
}

Package: golang.org/x/oauth2/bitbucket

Social Platforms

Facebook

// golang.org/x/oauth2/endpoints
var Facebook = oauth2.Endpoint{
	AuthURL:  "https://www.facebook.com/v22.0/dialog/oauth",
	TokenURL: "https://graph.facebook.com/v22.0/oauth/access_token",
}

// golang.org/x/oauth2/facebook
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://www.facebook.com/v3.2/dialog/oauth",
	TokenURL: "https://graph.facebook.com/v3.2/oauth/access_token",
}

Package: golang.org/x/oauth2/facebook

X (Twitter)

var X = oauth2.Endpoint{
	AuthURL:  "https://x.com/i/oauth2/authorize",
	TokenURL: "https://api.x.com/2/oauth2/token",
}

LinkedIn

// golang.org/x/oauth2/endpoints
var LinkedIn = oauth2.Endpoint{
	AuthURL:   "https://www.linkedin.com/oauth/v2/authorization",
	TokenURL:  "https://www.linkedin.com/oauth/v2/accessToken",
}

// golang.org/x/oauth2/linkedin
var Endpoint = oauth2.Endpoint{
	AuthURL:   "https://www.linkedin.com/oauth/v2/authorization",
	TokenURL:  "https://www.linkedin.com/oauth/v2/accessToken",
	AuthStyle: oauth2.AuthStyleInParams,
}

Package: golang.org/x/oauth2/linkedin

Instagram

// golang.org/x/oauth2/endpoints
var Instagram = oauth2.Endpoint{
	AuthURL:  "https://api.instagram.com/oauth/authorize",
	TokenURL: "https://api.instagram.com/oauth/access_token",
}

// golang.org/x/oauth2/instagram
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://api.instagram.com/oauth/authorize",
	TokenURL: "https://api.instagram.com/oauth/access_token",
}

Package: golang.org/x/oauth2/instagram

Additional Social

var Discord = oauth2.Endpoint{
	AuthURL:  "https://discord.com/oauth2/authorize",
	TokenURL: "https://discord.com/api/oauth2/token",
}

var Twitch = oauth2.Endpoint{
	AuthURL:  "https://id.twitch.tv/oauth2/authorize",
	TokenURL: "https://id.twitch.tv/oauth2/token",
}

var Slack = oauth2.Endpoint{
	AuthURL:  "https://slack.com/oauth/v2/authorize",
	TokenURL: "https://slack.com/api/oauth.v2.access",
}

Packages: golang.org/x/oauth2/slack, golang.org/x/oauth2/twitch

Media & Entertainment

Spotify

// golang.org/x/oauth2/endpoints
var Spotify = oauth2.Endpoint{
	AuthURL:  "https://accounts.spotify.com/authorize",
	TokenURL: "https://accounts.spotify.com/api/token",
}

// golang.org/x/oauth2/spotify
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://accounts.spotify.com/authorize",
	TokenURL: "https://accounts.spotify.com/api/token",
}

Package: golang.org/x/oauth2/spotify

Fitbit

// golang.org/x/oauth2/endpoints
var Fitbit = oauth2.Endpoint{
	AuthURL:  "https://www.fitbit.com/oauth2/authorize",
	TokenURL: "https://api.fitbit.com/oauth2/token",
}

// golang.org/x/oauth2/fitbit
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://www.fitbit.com/oauth2/authorize",
	TokenURL: "https://api.fitbit.com/oauth2/token",
}

Package: golang.org/x/oauth2/fitbit

Business Services

Dropbox

var Dropbox = oauth2.Endpoint{
	AuthURL:  "https://www.dropbox.com/oauth2/authorize",
	TokenURL: "https://api.dropboxapi.com/oauth2/token",
}

Heroku

// golang.org/x/oauth2/endpoints
var Heroku = oauth2.Endpoint{
	AuthURL:  "https://id.heroku.com/oauth/authorize",
	TokenURL: "https://id.heroku.com/oauth/token",
}

// golang.org/x/oauth2/heroku
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://id.heroku.com/oauth/authorize",
	TokenURL: "https://id.heroku.com/oauth/token",
}

Package: golang.org/x/oauth2/heroku

Uber

// golang.org/x/oauth2/endpoints
var Uber = oauth2.Endpoint{
	AuthURL:  "https://login.uber.com/oauth/v2/authorize",
	TokenURL: "https://login.uber.com/oauth/v2/token",
}

// golang.org/x/oauth2/uber
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://login.uber.com/oauth/v2/authorize",
	TokenURL: "https://login.uber.com/oauth/v2/token",
}

Package: golang.org/x/oauth2/uber

PayPal

// golang.org/x/oauth2/endpoints
var PayPal = oauth2.Endpoint{
	AuthURL:  "https://www.paypal.com/webapps/auth/protocol/openidconnect/v1/authorize",
	TokenURL: "https://api.paypal.com/v1/identity/openidconnect/tokenservice",
}

var PayPalSandbox = oauth2.Endpoint{
	AuthURL:  "https://www.sandbox.paypal.com/webapps/auth/protocol/openidconnect/v1/authorize",
	TokenURL: "https://api.sandbox.paypal.com/v1/identity/openidconnect/tokenservice",
}

// golang.org/x/oauth2/paypal
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://www.paypal.com/webapps/auth/protocol/openidconnect/v1/authorize",
	TokenURL: "https://api.paypal.com/v1/identity/openidconnect/tokenservice",
}

var SandboxEndpoint = oauth2.Endpoint{
	AuthURL:  "https://www.sandbox.paypal.com/webapps/auth/protocol/openidconnect/v1/authorize",
	TokenURL: "https://api.sandbox.paypal.com/v1/identity/openidconnect/tokenservice",
}

Package: golang.org/x/oauth2/paypal

Additional Services

StackOverflow

// golang.org/x/oauth2/endpoints
var StackOverflow = oauth2.Endpoint{
	AuthURL:  "https://stackoverflow.com/oauth",
	TokenURL: "https://stackoverflow.com/oauth/access_token",
}

// golang.org/x/oauth2/stackoverflow
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://stackoverflow.com/oauth",
	TokenURL: "https://stackoverflow.com/oauth/access_token",
}

Package: golang.org/x/oauth2/stackoverflow

Foursquare

// golang.org/x/oauth2/foursquare
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://foursquare.com/oauth2/authorize",
	TokenURL: "https://foursquare.com/oauth2/access_token",
}

Package: golang.org/x/oauth2/foursquare

MailChimp

// golang.org/x/oauth2/mailchimp
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://login.mailchimp.com/oauth2/authorize",
	TokenURL: "https://login.mailchimp.com/oauth2/token",
}

Package: golang.org/x/oauth2/mailchimp

MediaMath

// golang.org/x/oauth2/mediamath
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://api.mediamath.com/oauth2/v1.0/authorize",
	TokenURL: "https://api.mediamath.com/oauth2/v1.0/token",
}

var SandboxEndpoint = oauth2.Endpoint{
	AuthURL:  "https://t1sandbox.mediamath.com/oauth2/v1.0/authorize",
	TokenURL: "https://t1sandbox.mediamath.com/oauth2/v1.0/token",
}

Package: golang.org/x/oauth2/mediamath

International Services

Yandex

// golang.org/x/oauth2/yandex
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://oauth.yandex.com/authorize",
	TokenURL: "https://oauth.yandex.com/token",
}

Package: golang.org/x/oauth2/yandex

Mail.Ru

// golang.org/x/oauth2/mailru
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://o2.mail.ru/login",
	TokenURL: "https://o2.mail.ru/token",
}

Package: golang.org/x/oauth2/mailru

VK

// golang.org/x/oauth2/vk
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://oauth.vk.com/authorize",
	TokenURL: "https://oauth.vk.com/access_token",
}

Package: golang.org/x/oauth2/vk

Odnoklassniki

// golang.org/x/oauth2/odnoklassniki
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://www.odnoklassniki.ru/oauth/authorize",
	TokenURL: "https://api.odnoklassniki.ru/oauth/token.do",
}

Package: golang.org/x/oauth2/odnoklassniki

Kakao

// golang.org/x/oauth2/kakao
var Endpoint = oauth2.Endpoint{
	AuthURL:  "https://kauth.kakao.com/oauth/authorize",
	TokenURL: "https://kauth.kakao.com/oauth/token",
}

Package: golang.org/x/oauth2/kakao

Dynamic Endpoint Functions

Azure AD B2C

func AzureADB2CEndpoint(tenant string, policy string) oauth2.Endpoint

Example:

endpoint := endpoints.AzureADB2CEndpoint("mytenant", "B2C_1_SignUpSignIn")

Shopify

func Shopify(host string) oauth2.Endpoint

Example:

endpoint := endpoints.Shopify("mystore.myshopify.com")

HipChat Server

func HipChatServer(host string) oauth2.Endpoint

// golang.org/x/oauth2/hipchat
func ServerEndpoint(host string) oauth2.Endpoint

Example:

endpoint := endpoints.HipChatServer("hipchat.company.com")

Asgardeo

func AsgardeoEndpoint(tenant string) oauth2.Endpoint

Example:

endpoint := endpoints.AsgardeoEndpoint("mytenant")

Additional Endpoints

var Apple = oauth2.Endpoint{
	AuthURL:  "https://appleid.apple.com/auth/authorize",
	TokenURL: "https://appleid.apple.com/auth/token",
}

var Asana = oauth2.Endpoint{
	AuthURL:  "https://app.asana.com/-/oauth_authorize",
	TokenURL: "https://app.asana.com/-/oauth_token",
}

var Battlenet = oauth2.Endpoint{
	AuthURL:  "https://battle.net/oauth/authorize",
	TokenURL: "https://battle.net/oauth/token",
}

var Cern = oauth2.Endpoint{
	AuthURL:  "https://oauth.web.cern.ch/OAuth/Authorize",
	TokenURL: "https://oauth.web.cern.ch/OAuth/Token",
}

var Coinbase = oauth2.Endpoint{
	AuthURL:  "https://login.coinbase.com/oauth2/auth",
	TokenURL: "https://login.coinbase.com/oauth2/token",
}

var Line = oauth2.Endpoint{
	AuthURL:  "https://access.line.me/oauth2/v2.1/authorize",
	TokenURL: "https://api.line.me/oauth2/v2.1/token",
}

var Naver = oauth2.Endpoint{
	AuthURL:  "https://nid.naver.com/oauth2.0/authorize",
	TokenURL: "https://nid.naver.com/oauth2.0/token",
}

var OpenStreetMap = oauth2.Endpoint{
	AuthURL:  "https://www.openstreetmap.org/oauth2/authorize",
	TokenURL: "https://www.openstreetmap.org/oauth2/token",
}

var Patreon = oauth2.Endpoint{
	AuthURL:  "https://www.patreon.com/oauth2/authorize",
	TokenURL: "https://www.patreon.com/api/oauth2/token",
}

var Pinterest = oauth2.Endpoint{
	AuthURL:  "https://www.pinterest.com/oauth",
	TokenURL: "https://api.pinterest.com/v5/oauth/token",
}

var QQ = oauth2.Endpoint{
	AuthURL:  "https://graph.qq.com/oauth2.0/authorize",
	TokenURL: "https://graph.qq.com/oauth2.0/token",
}

var Rakuten = oauth2.Endpoint{
	AuthURL:  "https://app.rakuten.co.jp/services/authorize",
	TokenURL: "https://app.rakuten.co.jp/services/token",
}

var Strava = oauth2.Endpoint{
	AuthURL:  "https://www.strava.com/oauth/authorize",
	TokenURL: "https://www.strava.com/oauth/token",
}

var Yahoo = oauth2.Endpoint{
	AuthURL:  "https://api.login.yahoo.com/oauth2/request_auth",
	TokenURL: "https://api.login.yahoo.com/oauth2/get_token",
}

var Zoom = oauth2.Endpoint{
	AuthURL:  "https://zoom.us/oauth/authorize",
	TokenURL: "https://zoom.us/oauth/token",
}

Packages: golang.org/x/oauth2/cern, golang.org/x/oauth2/hipchat, golang.org/x/oauth2/nokiahealth, golang.org/x/oauth2/yahoo

Complete Package List

All 29 provider-specific packages:

  1. amazon
  2. bitbucket
  3. cern
  4. facebook
  5. fitbit
  6. foursquare
  7. github
  8. gitlab
  9. heroku
  10. hipchat
  11. instagram
  12. kakao
  13. linkedin
  14. mailchimp
  15. mailru
  16. mediamath
  17. microsoft
  18. nokiahealth
  19. odnoklassniki
  20. paypal
  21. slack
  22. spotify
  23. stackoverflow
  24. twitch
  25. uber
  26. vk
  27. yahoo
  28. yandex
  29. endpoints (meta-package with all endpoints)