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 } }
public static void Enable(INancyModule module, JWTFactory factory) { if (module == null) { throw new ArgumentNullException("module"); } module.Before.AddItemToStartOfPipeline(GetCredentialRetrievalHook(factory)); }
private static Func <NancyContext, Response> GetCredentialRetrievalHook(JWTFactory factory) { if (factory == null) { throw new ArgumentNullException("configuration"); } return(context => { RetrieveCredentials(context, factory); return null; }); }