Files
Discord.Net/README.md
2023-04-26 18:19:56 -06:00

1.4 KiB

x3rt.DiscordOAuth2

NuGet NuGet

A simple library to handle Discord OAuth2 authentication. Meant to serve as an alternative to the AspNet.Security.OAuth.Providers library that gives more control to the user.

Usage

// Configure OAuth ClientID and ClientSecret globally
DiscordOAuth.Configure(0123456789, "ClientSecret", "OptionalBotToken");
var scopes = new ScopesBuilder(OAuthScope.Identify);
var oAuth = new DiscordOAuth("https://example.com/Login", scopes);
var url = oAuth.GetAuthorizationUrl();
/* Redirect user to url via preferred method */
// Your callback method
if (DiscordOAuth.TryGetCode(HttpContext, out var code))
{
    var scopes = new ScopesBuilder(OAuthScope.Identify);
    var oAuth = new DiscordOAuth("https://example.com/Login", scopes);
    var token = await oAuth.GetTokenAsync(code);
    var user = await oAuth.GetUserAsync(token);
    
    ulong userId = user.Id;
    // ...
    
}

Feedback

DiscordOAuth2 is a work in progress and any feedback or suggestions are welcome. This library is released under the MIT License.