Modern .NET packages for the Kick platform API, OAuth 2.1 PKCE flows, and RSA-verified webhooks.
Kick.ClientKick.Client.AspNetCoreKick.Client.DependencyInjectionKick.Client.Generated
- a typed Kiota-based API client for the Kick platform API
- OAuth 2.1 PKCE helpers for desktop and local-app flows
- webhook signature verification and normalized event models
- ASP.NET Core route mapping helpers
- an interactive Spectre.Console sample that walks through tunnel setup, auth, and event subscriptions
dotnet add package Kick.Client
dotnet add package Kick.Client.AspNetCoreAdd the DI package when you want service registration helpers:
dotnet add package Kick.Client.DependencyInjectionusing Kick.Client.Authentication;
KickOAuthOptions options = new()
{
ClientId = "your-client-id",
RedirectUri = "http://127.0.0.1:5200/oauth/callback",
Scopes = "user:read channel:read events:subscribe"
};
string codeVerifier = KickPkceFlowHelper.GenerateCodeVerifier();
string codeChallenge = KickPkceFlowHelper.DeriveCodeChallenge(codeVerifier);
string state = Guid.NewGuid().ToString("N");
string authorizationUrl = KickPkceFlowHelper.BuildAuthorizationUrl(
"https://id.kick.com",
options,
codeChallenge,
state);using Kick.Client.AspNetCore;
using Kick.Client.Webhooks;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddKickClient();
var app = builder.Build();
app.MapKickWebhook(
"/webhooks/kick",
static (_, _) => Task.FromResult(new KickWebhookOptions()),
static (evt, _, _) =>
{
Console.WriteLine(evt.EventType);
return Task.CompletedTask;
});
await app.RunAsync();Run the interactive sample to host a webhook endpoint, expose it through Azure Dev Tunnels, complete PKCE auth, and subscribe to Kick webhook events:
dotnet run --project samples/Kick.Client.Sampledotnet test Kick.Client.slnx