private static StringBuilder TryReadFromtheSerializedData() { StringBuilder message = new StringBuilder(); var acd = ProtobufSerializer <AuthCodeDetail> .Deserialize(GenericStaticCache <string> .Get("cp-cache")); message.AppendLine(acd.ResponseMode); foreach (var claim in acd.Principal.Claims) { message.AppendLine($"{claim.Type} : {claim.Value} - {claim.ValueType}"); } return(message); }
public ActionResult Logon(LoginModel model) { if (_loginCombos.ContainsKey(model.Name) && _loginCombos[model.Name].Equals(model.Password)) { var claims = new List <Claim> { new Claim(ClaimTypes.Name, model.Name), new Claim(ClaimTypes.Upn, model.Name), new Claim(ClaimTypes.NameIdentifier, Guid.NewGuid().ToString()) }; var id = new ClaimsIdentity(claims, "forms"); var cp = new ClaimsPrincipal(id); var ac = new AuthCodeDetail() { ResponseMode = "AwesomeResposne", Principal = cp }; if (!RuntimeTypeModel.Default.IsDefined(typeof(ClaimsPrincipal))) { RuntimeTypeModel.Default.Add(typeof(ClaimsPrincipal), false) .SetSurrogate(typeof(CustomPrincipal)); } var strAcd = ProtobufSerializer <AuthCodeDetail> .SerializeToString(ac); GenericStaticCache <string> .Add2Cache("cp-cache", strAcd); Request.GetOwinContext().Authentication.SignOut("forms"); Request.GetOwinContext().Authentication.SignIn(id); return(RedirectToAction("index")); } ModelState.AddModelError("", "failed authentiation"); return(View("Login")); }