AspNet.Security.OAuth.GitHub 8.3.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package AspNet.Security.OAuth.GitHub --version 8.3.0                
NuGet\Install-Package AspNet.Security.OAuth.GitHub -Version 8.3.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AspNet.Security.OAuth.GitHub" Version="8.3.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AspNet.Security.OAuth.GitHub --version 8.3.0                
#r "nuget: AspNet.Security.OAuth.GitHub, 8.3.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install AspNet.Security.OAuth.GitHub as a Cake Addin
#addin nuget:?package=AspNet.Security.OAuth.GitHub&version=8.3.0

// Install AspNet.Security.OAuth.GitHub as a Cake Tool
#tool nuget:?package=AspNet.Security.OAuth.GitHub&version=8.3.0                

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:

  • OpenIddict fully supports OpenID Connect, which allows enforcing additional security checks for providers that implement it.
  • The OpenIddict client is stateful and provides built-in countermeasures against nonce/token replay attacks.
  • While the aspnet-contrib providers only support the OAuth 2.0 code flow, the OpenIddict providers support additional flows, including the OpenID Connect hybrid flow, the OAuth 2.0 client credentials grant, the resource owner password credentials grant or the refresh token grant.
  • The OpenIddict client supports OAuth 2.0 token introspection and OAuth 2.0 token revocation.
  • OpenIddict uses OAuth 2.0 and OpenID Connect server configuration discovery to avoid hardcoding the endpoint URIs of a provider when possible, making the OpenIddict web providers more robust and more future-proof.
  • While the aspnet-contrib providers require targeting the latest ASP.NET Core version, the OpenIddict web providers can be used in any supported version. They can also be used in ASP.NET 4.6.1+ websites and Windows/Linux desktop applications.
  • OpenIddict uses Microsoft.Extensions.Http.Polly (or Microsoft.Extensions.Http.Resilience on .NET 8+) to make backchannel HTTP communications less prone to transient network errors.

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.

Provider Stable Nightly Documentation
AdobeIO NuGet MyGet Documentation
Airtable NuGet MyGet Documentation
Alipay NuGet MyGet Documentation
Amazon NuGet MyGet Documentation
amoCRM NuGet MyGet Documentation
Apple NuGet MyGet Documentation
ArcGIS NuGet MyGet Documentation
Asana NuGet MyGet Documentation
Autodesk NuGet MyGet Documentation
Baidu NuGet MyGet Documentation
Basecamp NuGet MyGet Documentation
BattleNet NuGet MyGet Documentation
Bitbucket NuGet MyGet Documentation
Buffer NuGet MyGet Documentation
Calendly NuGet MyGet Documentation
CiscoSpark (Webex Teams) NuGet MyGet Documentation
Coinbase NuGet MyGet Documentation
DeviantArt NuGet MyGet Documentation
Deezer NuGet MyGet Documentation
DigitalOcean NuGet MyGet Documentation
Discord NuGet MyGet Documentation
Docusign NuGet MyGet Documentation
Dropbox NuGet MyGet Documentation
eBay NuGet MyGet Documentation
EVEOnline NuGet MyGet Documentation
ExactOnline NuGet MyGet Documentation
Feishu NuGet MyGet Documentation
Fitbit NuGet MyGet Documentation
Foursquare NuGet MyGet Documentation
Gitee NuGet MyGet Documentation
GitHub NuGet MyGet Documentation
GitLab NuGet MyGet Documentation
Harvest NuGet MyGet Documentation
HealthGraph (Runkeeper) NuGet MyGet N/A
Huawei NuGet MyGet Documentation
HubSpot NuGet MyGet Documentation
Imgur NuGet MyGet Documentation
Instagram NuGet MyGet Documentation
JumpCloud NuGet MyGet Documentation
KakaoTalk NuGet MyGet Documentation
Keycloak NuGet MyGet Documentation
KOOK NuGet MyGet Documentation
Kroger NuGet MyGet Documentation
Lichess NuGet MyGet Documentation
Line NuGet MyGet Documentation
LinkedIn NuGet MyGet Documentation
MailChimp NuGet MyGet Documentation
MailRu NuGet MyGet Documentation
Mixcloud NuGet MyGet Documentation
Moodle NuGet MyGet Documentation
Myob NuGet MyGet Documentation
Naver NuGet MyGet Documentation
NetEase NuGet MyGet Documentation
Nextcloud NuGet MyGet Documentation User EndPoint Documentation
Notion NuGet MyGet Documentation
Odnoklassniki NuGet MyGet Documentation
Okta NuGet MyGet Documentation
Onshape NuGet MyGet N/A
Patreon NuGet MyGet Documentation
Paypal NuGet MyGet Documentation
PingOne NuGet MyGet Documentation
Pipedrive NuGet MyGet Documentation
QQ NuGet MyGet Documentation
QuickBooks NuGet MyGet Documentation
Reddit NuGet MyGet Documentation
Salesforce NuGet MyGet Documentation
ServiceChannel NuGet MyGet Documentation
Shopify NuGet MyGet Documentation
Slack NuGet MyGet Documentation
Smartsheet NuGet MyGet Documentation
Snapchat NuGet MyGet Documentation
SoundCloud NuGet MyGet Documentation
Spotify NuGet MyGet Documentation
Stack Exchange NuGet MyGet Documentation
Strava NuGet MyGet Documentation
Streamlabs NuGet MyGet Documentation
SuperOffice NuGet MyGet Documentation
Trakt NuGet MyGet Documentation
Trovo NuGet MyGet Documentation
Twitch NuGet MyGet Documentation
Twitter NuGet MyGet Documentation
Typeform NuGet MyGet Documentation
Untappd NuGet MyGet Documentation
Vimeo NuGet MyGet Documentation
Visual Studio (Azure DevOps) NuGet MyGet Documentation
VK ID NuGet MyGet Documentation
Vkontakte NuGet MyGet Documentation
Weibo NuGet MyGet Documentation
Weixin (WeChat) NuGet MyGet Documentation
WordPress NuGet MyGet Documentation
WorkWeixin (WeCom) NuGet MyGet Documentation
Xero NuGet MyGet Documentation
Xumm NuGet MyGet Documentation
Yahoo NuGet MyGet Documentation
Yammer NuGet MyGet Documentation
Yandex NuGet MyGet Documentation
Zalo NuGet MyGet Documentation
Zendesk NuGet MyGet Documentation
Zoho NuGet MyGet Documentation
Zoom NuGet MyGet Documentation
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages (13)

Showing the top 5 NuGet packages that depend on AspNet.Security.OAuth.GitHub:

Package Downloads
FenixAlliance.ACL.Dependencies

Application Component for the Alliance Business Suite.

IdentityServer4MicroService

MicroService based on IdentityServer4 + Azure API Management

OAuthApp

OAuth2.0的Saas用户中心框架。

CyberEye.Identity.Lib

Package chứa các thư viện, hàm tiện ích, class model về ASP.NET Identity

AuthScape.Services

Available soon

GitHub repositories (19)

Showing the top 5 popular GitHub repositories that depend on AspNet.Security.OAuth.GitHub:

Repository Stars
skoruba/IdentityServer4.Admin
The administration for the IdentityServer4 and Asp.Net Core Identity
davidfowl/TodoApp
Todo application with ASP.NET Core Blazor WASM, Minimal APIs and Authentication
Squidex/squidex
Headless CMS and Content Managment Hub
SciSharp/BotSharp
AI Multi-Agent Framework in .NET
servicetitan/Stl.Fusion
Build real-time apps (Blazor included) with less than 1% of extra code responsible for real-time updates. Host 10-1000x faster APIs relying on transparent and nearly 100% consistent caching. We call it DREAM, or Distributed REActive Memoization, and it's here to turn real-time on!
Version Downloads Last updated
9.0.0 4,118 11/12/2024
8.3.0 4,057 11/7/2024
8.2.0 21,302 9/14/2024
8.1.0 28,864 6/14/2024
8.0.0 95,027 11/14/2023
7.0.4 44,876 8/15/2023
7.0.3 10,230 8/7/2023
7.0.2 48,809 4/16/2023
7.0.1 875 4/16/2023
7.0.0 56,308 11/7/2022
6.0.15 55,670 4/16/2023
6.0.14 13,490 11/2/2022
6.0.13 632 11/1/2022
6.0.12 5,123 10/10/2022
6.0.11 44,432 9/4/2022
6.0.10 4,151 8/31/2022
6.0.9 12,444 8/24/2022
6.0.8 26,408 8/19/2022
6.0.7 12,941 8/16/2022
6.0.6 652,922 4/20/2022
6.0.5 6,431 3/27/2022
6.0.4 25,075 2/10/2022
6.0.3 63,343 1/22/2022
6.0.2 8,328 1/6/2022
6.0.1 4,843 12/11/2021
6.0.0 8,765 11/8/2021
5.0.18 9,463 10/29/2021
5.0.17 699 10/26/2021
5.0.16 3,949 10/9/2021
5.0.15 1,465 10/4/2021
5.0.14 1,353 9/25/2021
5.0.13 570 9/24/2021
5.0.12 3,049 9/11/2021
5.0.11 4,013 8/24/2021
5.0.10 1,978 8/13/2021
5.0.9 5,099 7/28/2021
5.0.8 7,767 7/4/2021
5.0.7 17,563 6/20/2021
5.0.6 6,757 6/4/2021
5.0.5 606 6/3/2021
5.0.4 47,140 4/7/2021
5.0.3 1,580 3/26/2021
5.0.2 2,170 3/13/2021
5.0.1 13,003 2/1/2021
5.0.0 24,976 11/10/2020
3.1.8 2,190 8/31/2022
3.1.7 12,312 2/1/2021
3.1.6 35,321 10/26/2020
3.1.5 4,053 10/20/2020
3.1.4 18,171 10/6/2020
3.1.3 107,539 7/16/2020
3.1.2 2,980 7/8/2020
3.1.1 12,543 5/8/2020
3.1.0 9,791 4/20/2020
3.0.0 83,537 10/14/2019
2.2.2 4,131 5/8/2020
2.2.1 578 4/20/2020
2.2.0 7,841 10/14/2019
2.1.0 17,579 6/6/2019
2.0.1 60,433 1/21/2019
2.0.0 17,566 6/18/2018
2.0.0-rc2-final 9,192 12/18/2017
1.0.1 792 1/21/2019
1.0.0 1,314 6/18/2018
1.0.0-rc2-final 839 12/18/2017
1.0.0-rc1-final 3,155 5/8/2017
1.0.0-beta3-final 9,259 3/13/2017
1.0.0-beta2-final 1,589 11/30/2016
1.0.0-beta1-final 3,203 7/1/2016
1.0.0-alpha4-final 1,460 5/18/2016
1.0.0-alpha3 1,135 11/20/2015
1.0.0-alpha2 973 10/16/2015
1.0.0-alpha1 1,019 9/3/2015