private IObservable <string> GenerateToken(User user) { return(SingleObservable.Create(() => { var handler = new JwtSecurityTokenHandler(); List <Claim> claims = new List <Claim>(); claims.Add(new Claim(ClaimTypes.Name, user.Name)); claims.Add(new Claim(ClaimTypes.Email, user.Email)); foreach (var userRole in user.UserRoles) { claims.Add(new Claim(ClaimTypes.Role, userRole.Role.Description)); } ClaimsIdentity identity = new ClaimsIdentity(new GenericIdentity(ClaimTypes.NameIdentifier, user.Id.ToString()), claims); var securityToken = handler.CreateToken(new SecurityTokenDescriptor { Issuer = JwtTokenDefinitions.Issuer, Audience = JwtTokenDefinitions.Audience, SigningCredentials = JwtTokenDefinitions.SigningCredentials, Subject = identity, Expires = DateTime.Now.Add(JwtTokenDefinitions.TokenExpirationTime), NotBefore = DateTime.Now }); return handler.WriteToken(securityToken); })); }
public IObservable <ValidationResult> CheckAsync <T>(IValidator <T> validator, T obj) where T : class { return(SingleObservable.Create(() => Check(validator, obj))); }
public IObservable <TEntity> UpdateAsync(TEntity item) => SingleObservable.Create(() => Update(item));
public IObservable <TEntity> ReadAsync(TPrimaryKey id) => SingleObservable.Create(() => Read(id));
public IObservable <TEntity> DeleteAsync(TPrimaryKey id) => SingleObservable.Create(() => Delete(id));
public IObservable <User> LoginAsync(ICredential credential) { return(SingleObservable.Create(() => Login(credential))); }
public IObservable <bool> IsRegistredAsync(User user) { return(SingleObservable.Create(() => IsRegistred(user))); }
public Single(SingleObservable <T> parent, IObserver <T> observer, IDisposable cancel) : base(observer, cancel) { this.parent = parent; this.seenValue = false; }