/// <summary> /// Sign in with header /// </summary> /// <param name="context"></param> /// <param name="options"></param> /// <param name="badge"></param> /// <param name="tag"></param> /// <returns></returns> public bool SignIn <T>(HttpContext context, T options, DewBadge badge, object tag) where T : DewBadgeOptions { var opt = options as DewBadgeOptionsJWT; context.Response.Headers.Add(opt.HeaderName, opt.Bearer + badge.GetSign(options.Secret)); return(true); }
/// <summary> /// Refresh cookie /// </summary> /// <typeparam name="T"></typeparam> /// <param name="options"></param> /// <param name="context"></param> /// <param name="badge"></param> /// <param name="tag"></param> public void Refresh <T>(HttpContext context, T options, DewBadge badge, object tag = null) where T : DewBadgeOptionsCookies { if (options is DewBadgeOptionsCookies opt) { var header = context.Request.Cookies.FirstOrDefault(x => { return(x.Key == opt.CookieName); }); if (!header.Equals(default(KeyValuePair <string, Microsoft.Extensions.Primitives.StringValues>))) { context.Response.Cookies.Append(opt.CookieName, badge.GetSign(opt.Secret), new CookieOptions() { Expires = DateTime.Now.AddMinutes(opt.CookieExpiring) }); } } }
/// <summary> /// Sign in with cookies /// </summary> /// <param name="context"></param> /// <param name="options"></param> /// <param name="badge"></param> /// <param name="tag"></param> /// <returns></returns> public bool SignIn <T>(HttpContext context, T options, DewBadge badge, object tag) where T : DewBadgeOptions { var opt = options as DewBadgeOptionsCookies; var remember = false; if (tag != null) { remember = (bool)tag; } context.Response.Cookies.Append(opt.CookieName, badge.GetSign(opt.Secret), new CookieOptions() { Expires = remember ? DateTime.Now.AddMinutes(opt.CookieRemember) : DateTime.Now.AddMinutes(opt.CookieExpiring) }); return(true); }