using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Web.Http;
using System.Web.Security;
public class CoreApiController : ApiController // Geen BaseApiController!
{
[HttpGet]
[Route("api/formsauthentication")]
public HttpResponseMessage GetFormsAuthentication()
{
var userName = SandboxProvider.GetCurrentUserName();
if (string.IsNullOrEmpty(userName))
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Not authenticated");
}
//var cookies = Request.Headers.GetCookies(FormsAuthentication.FormsCookieName);
//if (cookies.Count > 0)
//{
// return Request.CreateResponse("OK");
//}
var authTicket = new FormsAuthenticationTicket(1, userName, DateTime.Now, DateTime.Now.AddMinutes(120), false, userName);
var response = Request.CreateResponse();
var cookie = FormsAuthentication.GetAuthCookie(userName, false);
var cookieHeader = new CookieHeaderValue(cookie.Name, cookie.Value);
cookieHeader.Domain = cookie.Domain;
cookieHeader.Path = cookie.Path;
cookieHeader.HttpOnly = true;
//cookieHeader.Expires = cookie.Expires;
response.Headers.AddCookies(new List<CookieHeaderValue> { cookieHeader });
response.Headers.CacheControl = new CacheControlHeaderValue
{
NoStore = true,
NoCache = true,
MustRevalidate = true
};
return response;
}
}
101000cookie-checkC# FormsAuthentication