Skip to content

Instantly share code, notes, and snippets.

public class CustomThrottlingHandler : ThrottlingHandler
{
protected override RequestIdentity SetIdentity(HttpRequestMessage request)
{
return new RequestIdentity()
{
ClientKey = request.Headers.Contains("Authorization") ? request.Headers.GetValues("Authorization").First() : "anon",
ClientIp = base.GetClientIp(request).ToString(),
Endpoint = request.RequestUri.AbsolutePath.ToLowerInvariant()
};
/// <summary>
/// Retrieve token for the user
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("~/connect/token"), Consumes("application/x-www-form-urlencoded"), Produces("application/json")]
[ProducesResponseType(typeof(ErrorResponse), 400)]
[ProducesResponseType(typeof(Microsoft.AspNetCore.Mvc.SignInResult), 200)]
[AllowAnonymous]