Home

Awesome

AspNet.Security.OAuth.Providers

AspNet.Security.OAuth.Providers is a collection of security middleware that you can use in your ASP.NET Core application to support social authentication providers like GitHub, Twitter/X or Dropbox. It is directly inspired by Jerrie Pelser's initiative, Owin.Security.Providers.

The latest official release can be found on NuGet and the nightly builds on MyGet.

Build status

[!TIP] While the aspnet-contrib providers are still fully supported, developers are encouraged to use the OpenIddict client for new applications.

For information, see the Migrating to OpenIddict section.

Getting started

Adding social authentication to your application is a breeze and just requires a few lines in your Startup class:

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(options => { /* Authentication options */ })
            .AddGitHub(options =>
            {
                options.ClientId = "49e302895d8b09ea5656";
                options.ClientSecret = "98f1bf028608901e9df91d64ee61536fe562064b";
            });
}

public void Configure(IApplicationBuilder app)
{
    app.UseAuthentication();
    app.UseAuthorization();
}

See the /samples directory for a complete sample using ASP.NET Core MVC and supporting multiple social providers.

Contributing

AspNet.Security.OAuth.Providers is actively maintained by:

We would love it if you could help contributing to this repository.

Special thanks to our contributors:

Security policy

Please see SECURITY.md for information about reporting security issues and bugs.

Support

Need help or wanna share your thoughts? Don't hesitate to join us on Gitter or ask your question on StackOverflow:

License

This project is licensed under the Apache License. This means that you can use, modify and distribute it freely. See https://www.apache.org/licenses/LICENSE-2.0.html for more details.

Migrating to OpenIddict

The OpenIddict client and its 75+ web providers have significant advantages over the simpler OAuth 2.0-only authentication handler that is used by the aspnet-contrib providers:

For more information on how to get started with the OpenIddict web providers, you can read:

To contribute a new OpenIddict provider, visit Contributing a new Web provider.

Providers

Links to the latest stable and nightly NuGet packages for each provider, as well as a link to their integration documentation are listed in the table below.

Documentation for the providers' settings can be found here.

If a provider you're looking for does not exist, consider making a PR to add one.

ProviderStableNightlyDocumentation
AdobeIONuGetMyGetDocumentation
AirtableNuGetMyGetDocumentation
AlipayNuGetMyGetDocumentation
AmazonNuGetMyGetDocumentation
amoCRMNuGetMyGetDocumentation
AppleNuGetMyGetDocumentation
ArcGISNuGetMyGetDocumentation
AsanaNuGetMyGetDocumentation
AutodeskNuGetMyGetDocumentation
BaiduNuGetMyGetDocumentation
BasecampNuGetMyGetDocumentation
BattleNetNuGetMyGetDocumentation
BitbucketNuGetMyGetDocumentation
BufferNuGetMyGetDocumentation
CalendlyNuGetMyGetDocumentation
CiscoSpark (Webex Teams)NuGetMyGetDocumentation
CoinbaseNuGetMyGetDocumentation
DeviantArtNuGetMyGetDocumentation
DeezerNuGetMyGetDocumentation
DigitalOceanNuGetMyGetDocumentation
DiscordNuGetMyGetDocumentation
DocusignNuGetMyGetDocumentation
DropboxNuGetMyGetDocumentation
eBayNuGetMyGetDocumentation
EVEOnlineNuGetMyGetDocumentation
ExactOnlineNuGetMyGetDocumentation
FeishuNuGetMyGetDocumentation
FitbitNuGetMyGetDocumentation
FoursquareNuGetMyGetDocumentation
GiteeNuGetMyGetDocumentation
GitHubNuGetMyGetDocumentation
GitLabNuGetMyGetDocumentation
HarvestNuGetMyGetDocumentation
HealthGraph (Runkeeper)NuGetMyGetN/A
HuaweiNuGetMyGetDocumentation
HubSpotNuGetMyGetDocumentation
ImgurNuGetMyGetDocumentation
InstagramNuGetMyGetDocumentation
JumpCloudNuGetMyGetDocumentation
KakaoTalkNuGetMyGetDocumentation
KeycloakNuGetMyGetDocumentation
KOOKNuGetMyGetDocumentation
KrogerNuGetMyGetDocumentation
LichessNuGetMyGetDocumentation
LineNuGetMyGetDocumentation
LinkedInNuGetMyGetDocumentation
MailChimpNuGetMyGetDocumentation
MailRuNuGetMyGetDocumentation
MixcloudNuGetMyGetDocumentation
MoodleNuGetMyGetDocumentation
MyobNuGetMyGetDocumentation
NaverNuGetMyGetDocumentation
NetEaseNuGetMyGetDocumentation
NextcloudNuGetMyGetDocumentation User EndPoint Documentation
NotionNuGetMyGetDocumentation
OdnoklassnikiNuGetMyGetDocumentation
OktaNuGetMyGetDocumentation
OnshapeNuGetMyGetN/A
PatreonNuGetMyGetDocumentation
PaypalNuGetMyGetDocumentation
PingOneNuGetMyGetDocumentation
PipedriveNuGetMyGetDocumentation
QQNuGetMyGetDocumentation
QuickBooksNuGetMyGetDocumentation
RedditNuGetMyGetDocumentation
SalesforceNuGetMyGetDocumentation
ServiceChannelNuGetMyGetDocumentation
ShopifyNuGetMyGetDocumentation
SlackNuGetMyGetDocumentation
SmartsheetNuGetMyGetDocumentation
SnapchatNuGetMyGetDocumentation
SoundCloudNuGetMyGetDocumentation
SpotifyNuGetMyGetDocumentation
Stack ExchangeNuGetMyGetDocumentation
StravaNuGetMyGetDocumentation
StreamlabsNuGetMyGetDocumentation
SuperOfficeNuGetMyGetDocumentation
TraktNuGetMyGetDocumentation
TrovoNuGetMyGetDocumentation
TwitchNuGetMyGetDocumentation
TwitterNuGetMyGetDocumentation
TypeformNuGetMyGetDocumentation
UntappdNuGetMyGetDocumentation
VimeoNuGetMyGetDocumentation
Visual Studio (Azure DevOps)NuGetMyGetDocumentation
VkontakteNuGetMyGetDocumentation
WeiboNuGetMyGetDocumentation
Weixin (WeChat)NuGetMyGetDocumentation
WordPressNuGetMyGetDocumentation
WorkWeixin (WeCom)NuGetMyGetDocumentation
XeroNuGetMyGetDocumentation
XummNuGetMyGetDocumentation
YahooNuGetMyGetDocumentation
YammerNuGetMyGetDocumentation
YandexNuGetMyGetDocumentation
ZaloNuGetMyGetDocumentation
ZendeskNuGetMyGetDocumentation
ZohoNuGetMyGetDocumentation
ZoomNuGetMyGetDocumentation
<!-- | CHANGEME | [![NuGet](https://img.shields.io/nuget/v/AspNet.Security.OAuth.CHANGEME?logo=nuget&label=NuGet&color=blue)](https://www.nuget.org/packages/AspNet.Security.OAuth.CHANGEME/ "Download AspNet.Security.OAuth.CHANGEME from NuGet.org") | [![MyGet](https://img.shields.io/myget/aspnet-contrib/vpre/AspNet.Security.OAuth.CHANGEME?logo=nuget&label=MyGet&color=blue)](https://www.myget.org/feed/aspnet-contrib/package/nuget/AspNet.Security.OAuth.CHANGEME "Download AspNet.Security.OAuth.CHANGEME from MyGet.org") | [Documentation](CHANGEME "CHANGEME developer documentation") | -->