OAuth Provider Documentation

March 23, 2025 ยท View on GitHub

This document contains some introductory information about how to integrate the OAuth providers in this repository into an ASP.NET Core application.

It assumes a general familiarity with ASP.NET Core and authorization, and is intended to demonstrate how to configure it for your application, not how it works internally. Further integration details for a given provider can be found in the services' own documentation, which are linked to in the main README.

Generic Documentation

Most of the OAuth providers in this repository can be configured by just specifying two settings: ClientId and ClientSecret.

Let's use the Slack provider as an example:

services.AddAuthentication(options => /* Auth configuration */)
        .AddSlack(options =>
        {
            options.ClientId = "my-client-id";
            options.ClientSecret = "my-client-secret";
        });

With just two settings, you can configure the Slack provider to authenticate users.

The providers all follow a convention, so you just need to add the appropriate NuGet package reference and replace the word Slack in the method name with the provider name you are integrating. So for Spotify, it would be AddSpotify().

Provider-Specific Documentation

Any providers listed here have additional configuration that is either required or optional beyond the standard built-in OAuth configuration settings.

The table below lists all of the providers that provide additional configuration and a link to a provider-specific document for that provider. If the provider you are using is not listed, it does not have any specific documentation and is covered by the section above.

ProviderRequired or Optional SettingsDocumentation Link
AmazonOptionalDocumentation
AppleRequiredDocumentation
BattleNetRequiredDocumentation
BitbucketOptionalDocumentation
DigitalOceanOptionalDocumentation
DiscordOptionalDocumentation
DocusignRequiredDocumentation
eBayRequiredDocumentation
EVEOnlineOptionalDocumentation
FoursquareOptionalDocumentation
GitCodeOptionalDocumentation
GitHubOptionalDocumentation
GiteeOptionalDocumentation
HuaweiOptionalDocumentation
InstagramOptionalDocumentation
KOOKOptionalDocumentation
LineOptionalDocumentation
LinearOptionalDocumentation
LinkedInOptionalDocumentation
MiroOptionalDocumentation
OdnoklassnikiOptionalDocumentation
OktaRequiredDocumentation
PatreonOptionalDocumentation
PingOneOptionalDocumentation
QQOptionalDocumentation
RedditOptionalDocumentation
SalesforceOptionalDocumentation
SmartsheetOptionalDocumentation
SnapchatOptionalDocumentation
StackExchangeOptionalDocumentation
SuperOfficeRequiredDocumentation
TraktOptionalDocumentation
TrovoOptionalDocumentation
TwitchOptionalDocumentation
TwitterOptionalDocumentation
VkontakteOptionalDocumentation
WebflowOptionalDocumentation
WeiboOptionalDocumentation
WorkWeixin (WeCom)OptionalDocumentation
XeroOptionalDocumentation
XummOptionalDocumentation