mirror of
https://github.com/yawaflua/Discord.Net.git
synced 2025-12-09 03:49:36 +02:00
Initial release
This commit is contained in:
42
README.md
Normal file
42
README.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# x3rt.DiscordOAuth2
|
||||
|
||||
[](https://www.nuget.org/packages/x3rt.DiscordOAuth2/)
|
||||
[](https://www.nuget.org/packages/x3rt.DiscordOAuth2/)
|
||||
|
||||
A **simple** library to handle Discord OAuth2 authentication.
|
||||
Meant to serve as an alternative to
|
||||
the [AspNet.Security.OAuth.Providers](https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers) library that
|
||||
gives more control to the user.
|
||||
|
||||
## Usage
|
||||
|
||||
```csharp
|
||||
// Configure OAuth ClientID and ClientSecret globally
|
||||
DiscordOAuth.Configure(0123456789, "ClientSecret", "OptionalBotToken");
|
||||
```
|
||||
```csharp
|
||||
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 */
|
||||
```
|
||||
```csharp
|
||||
// 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](LICENSE).
|
||||
```
|
||||
Reference in New Issue
Block a user