public static Models.Member.TokenModel GenerateToken(Models.Member.MemberModel member) { var claims = new List <Claim>(); // create required claims claims.Add(new Claim(ClaimTypes.NameIdentifier, member.Id.ToString())); claims.Add(new Claim(ClaimTypes.Name, member.FirstName)); // custom – my serialized AppUserState object //claims.Add(new Claim("userState", member.ToString())); var identity = new ClaimsIdentity(claims, AppConfigs.OAuthAuthenticationType); DateTime issuredDate = DateTime.UtcNow; DateTime expiresDate = issuredDate.Add(TimeSpan.FromHours(AppConfigs.OAuthTimespanHour)); AuthenticationTicket ticket = new AuthenticationTicket(identity, new AuthenticationProperties()); ticket.Properties.IssuedUtc = DateTime.SpecifyKind(issuredDate, DateTimeKind.Utc); ticket.Properties.ExpiresUtc = DateTime.SpecifyKind(expiresDate, DateTimeKind.Utc); string AccessToken = Startup.OAuthBearerOptions.AccessTokenFormat.Protect(ticket); return(new Models.Member.TokenModel { MemberId = member.Id, Token = AccessToken, IssuedUtc = issuredDate, ExpiresUtc = expiresDate }); }
private void IdentitySignin(Models.Member.MemberModel member, bool isPersistent = false) { var claims = new List <Claim>(); // create required claims claims.Add(new Claim(ClaimTypes.NameIdentifier, member.Id.ToString())); claims.Add(new Claim(ClaimTypes.Name, member.FirstName)); // custom – my serialized AppUserState object //claims.Add(new Claim("userState", member.ToString())); var identity = new ClaimsIdentity(claims, AppConfigs.OAuthAuthenticationType); AuthenticationManager.SignIn(new AuthenticationProperties() { AllowRefresh = true, IsPersistent = isPersistent, ExpiresUtc = DateTime.UtcNow.AddDays(7) }, identity); }