Mehdi
Mehdi

Reputation: 1126

How to generate an anti forgery token manually in ASP.NET Core

I need to generate an anti forgery token manually!

How can I generate this?

public class TokenController : Controller
{
    [HttpPost]
    [IgnoreAntiforgeryToken]
    public ActionResult Generate()
    {
        var token = "";

        //Generate a token

        return Json(token);
    }
}

Upvotes: 2

Views: 4344

Answers (1)

juunas
juunas

Reputation: 58733

I think you can inject an IAntiforgery instance to your controller (docs).

public class TokenController : Controller
{
    private readonly IAntiforgery _antiforgery;

    public TokenController(IAntiforgery antiforgery)
    {
        _antiforgery = antiforgery;
    }

    [HttpPost]
    [IgnoreAntiforgeryToken]
    public ActionResult Generate()
    {
        var token = "";

        //Generate a token
        var tokenSet = _antiforgery.GetTokens(HttpContext);

        return Json(token);
    }
}

Upvotes: 2

Related Questions