Beispiel #1
0
        private static void RetrieveCredentials(NancyContext context, JWTFactory factory)
        {
            var token = ExtractTokenFromHeader(context.Request);

            if (token == null)
            {
                return;
            }

            try {
                var user = factory.DecodeToken(token);
                if (user != null)
                {
                    var identity = new JWTUserIdentity()
                    {
                        UserID   = user.UserID,
                        UserName = user.UserName,
                        Claims   = user.Claims
                    };
                    context.CurrentUser = identity;
                }
            }catch (Exception ex) {
                //Expired
            }
        }
Beispiel #2
0
        public static void Enable(INancyModule module, JWTFactory factory)
        {
            if (module == null)
            {
                throw new ArgumentNullException("module");
            }

            module.Before.AddItemToStartOfPipeline(GetCredentialRetrievalHook(factory));
        }
Beispiel #3
0
        private static Func <NancyContext, Response> GetCredentialRetrievalHook(JWTFactory factory)
        {
            if (factory == null)
            {
                throw new ArgumentNullException("configuration");
            }

            return(context =>
            {
                RetrieveCredentials(context, factory);
                return null;
            });
        }