public async Task SaveTokenAsync(int userId, string audience, KeyValuePair <string, string> token, ILoginUow loginUow) { var applicationUserToken = new ApplicationUserToken { AudienceType = audience, CreatedDateTime = DateTime.UtcNow, UserId = userId, JwtToken = token.Value, SecurityKey = token.Key }; await loginUow.RegisterNewAsync <ApplicationUserToken>(applicationUserToken); await loginUow.CommitAsync(); this.Tokens.AddOrUpdate(token.Key, token.Value, (x, y) => token.Value); }
public AuthenticationController(ILoginUow loginUow, IApplicationTokenProvider tokenProvider, IPasswordHash passwordHash) { this.LoginUow = loginUow; ApplicationTokenProvider = tokenProvider; PasswordHash = passwordHash; }
public ApplicationTokenProvider(IJwtTokenProvider tokenProvider, UserAccessConfigInfo userAccessConfig, ILoginUow loginUow, IUserClaim userClaim, IHttpContextAccessor contextAccessor) { TokenProvider = tokenProvider; UserAccessConfig = userAccessConfig; LoginUow = loginUow; UserClaim = userClaim; ContextAccessor = contextAccessor; }
public async Task <bool> GetAccessInfoAsync(int userId, int applicationModuleId, string action, ILoginUow loginUow, bool cachedCall = false) { Dictionary <int, Dictionary <string, bool> > moduleIds; if (this.AccessInfo.TryGetValue(userId, out moduleIds)) { Dictionary <string, bool> actionAccess; if (moduleIds.TryGetValue(applicationModuleId, out actionAccess)) { bool value; if (actionAccess.TryGetValue(action, out value)) { return(value); } } } else { if (!cachedCall) { await this.CacheAccessInfoAsync(loginUow, userId); return(await this.GetAccessInfoAsync(userId, applicationModuleId, action, loginUow)); } } return(false); }
public async Task <Dictionary <int, Dictionary <string, bool> > > GetFullInfoAsync(int userId, ILoginUow loginUow) { Dictionary <int, Dictionary <string, bool> > modules = null; if (!this.AccessInfo.TryGetValue(userId, out modules)) { await this.CacheAccessInfoAsync(loginUow, userId); this.AccessInfo.TryGetValue(userId, out modules); } return(modules); }
public ApplicationTokenProvider(IJwtTokenProvider tokenProvider, UserAccessConfigInfo userAccessConfig, ILoginUow loginUow, IUserClaim userClaim) { TokenProvider = tokenProvider; UserAccessConfig = userAccessConfig; LoginUow = loginUow; UserClaim = userClaim; }