Browse docs

C# / .NET SDK

.NET 8 SDK. Session JWT verification uses Microsoft's official Microsoft.IdentityModelstack so it interops with ASP.NET Core's JwtBearer handler out of the box.

Install

dotnet add package KolayLogin

Verify a session

var verifier = new KolayLogin.SessionVerifier(
    "https://api.kolaylogin.com",
    expectedIssuer: "https://example.com"
);
var principal = await verifier.VerifyAsync(sessionCookie);
string? userId = principal.FindFirst("sub")?.Value;

ASP.NET Core middleware

app.Use(async (ctx, next) =>
{
    var token = ctx.Request.Cookies["__session"];
    if (!string.IsNullOrEmpty(token))
    {
        try { ctx.User = await verifier.VerifyAsync(token); }
        catch { /* anonymous */ }
    }
    await next();
});

Admin client

var kolay = new KolayLogin.KolayLoginClient(
    "https://api.kolaylogin.com",
    Environment.GetEnvironmentVariable("KL_SECRET_KEY")!
);

var users = await kolay.Users.ListAsync(limit: 20);
var org   = await kolay.Organizations.CreateAsync("Acme", "acme");