コード例 #1
0
        /// <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);
        }
コード例 #2
0
 /// <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)
             });
         }
     }
 }
コード例 #3
0
        /// <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);
        }