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.
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()
.
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.
Provider | Required or Optional Settings | Documentation Link |
---|---|---|
Amazon | Optional | Documentation |
Apple | Required | Documentation |
BattleNet | Required | Documentation |
Bitbucket | Optional | Documentation |
Discord | Optional | Documentation |
EVEOnline | Optional | Documentation |
Foursquare | Optional | Documentation |
GitHub | Optional | Documentation |
Gitee | Optional | Documentation |
Optional | Documentation | |
Kloudless | Optional | Documentation |
Line | Optional | Documentation |
Optional | Documentation | |
Odnoklassniki | Optional | Documentation |
Okta | Required | Documentation |
Patreon | Optional | Documentation |
Optional | Documentation | |
Optional | Documentation | |
Salesforce | Optional | Documentation |
StackExchange | Optional | Documentation |
SuperOffice | Required | Documentation |
Trakt | Optional | Documentation |
Twitch | Optional | Documentation |
Vkontakte | Optional | Documentation |
Optional | Documentation | |
WorkWeixin (WeCom) | Optional | Documentation |