public static ApiModel.AuthToken FromData(DataModel.AuthToken dataToken) { return(dataToken == null ? null : new ApiModel.AuthToken() { Id = dataToken.Id, DateExpired = dataToken.DateExpired, }); }
protected Guid GetUserId(PlayCatDbContext context) { var inviteService = _server.Host.Services.GetService(typeof(IInviteService)) as IInviteService; string password = "******"; string email = "*****@*****.**"; DataModel.User user = context.CreateUser(email, "test", "test", "m", password, inviteService.GenerateInvite()); DataModel.AuthToken authToken = context.CreateToken(DateTime.Now.AddDays(-1), false, user.Id); context.SaveChanges(); return(user.Id); }
public CheckTokenResult CheckToken(string token) { var responseBuilder = ResponseBuilder <CheckTokenResult> .Fail() .IsShowInfo(false) .SetCode(ResponseCode.InvalidToken); if (string.IsNullOrEmpty(token)) { return(responseBuilder.SetInfoAndBuild("Token not found in headers")); } if (!Guid.TryParse(token, out Guid tokenId)) { return(responseBuilder.SetInfoAndBuild("Token wrong format")); } DataModel.AuthToken authToken = _dbContext.AuthTokens.FirstOrDefault(x => x.Id == tokenId); if (authToken == null) { return(responseBuilder.SetInfoAndBuild("Token not registered")); } if (authToken.DateExpired < DateTime.Now) { return(responseBuilder.SetInfoAndBuild("Token is expired")); } if (!authToken.IsActive) { return(responseBuilder.SetInfoAndBuild("Token is not active")); } return(ResponseBuilder <CheckTokenResult> .SuccessBuild(new CheckTokenResult() { AuthToken = authToken, })); }
public SignUpInResult SignUp(SignUpRequest request) { return(BaseInvokeCheckModel(request, () => { var responseBuilder = ResponseBuilder <SignUpInResult> .Fail(); if (!_inviteService.IsInviteValid(request.VerificationCode)) { return responseBuilder.SetInfoAndBuild("Verification code is wrong"); } if (_dbContext.Users.Any(x => x.Email == request.Email)) { return responseBuilder.SetInfoAndBuild("User with this email already registered"); } if (_dbContext.Users.Any(x => x.VerificationCode == request.VerificationCode)) { return responseBuilder.SetInfoAndBuild("This invite already used"); } string salt = Crypto.GenerateSalt(); string passwordHah = Crypto.HashPassword(request.Password + salt); var dataUser = UserMapper.ToData.FromRequest(request, (user) => { user.Id = Guid.NewGuid(); user.IsUploadingAudio = false; user.PasswordHash = passwordHah; user.PasswordSalt = salt; user.RegisterDate = DateTime.Now; }); var dataAuthToken = new DataModel.AuthToken() { Id = Guid.NewGuid(), DateExpired = DateTime.Now.AddDays(AuthTokenDaysExpired), UserId = dataUser.Id, IsActive = true, }; var playlist = new DataModel.Playlist() { Id = Guid.NewGuid(), IsGeneral = true, OwnerId = dataUser.Id, OrderValue = 0, }; _dbContext.AuthTokens.Add(dataAuthToken); _dbContext.Users.Add(dataUser); _dbContext.Playlists.Add(playlist); _dbContext.SaveChanges(); return ResponseBuilder <SignUpInResult> .SuccessBuild(new SignUpInResult() { User = UserMapper.ToApi.FromData(dataUser), AuthToken = AuthTokenMapper.ToApi.FromData(dataAuthToken), }); })); }
private void UpdateAuthToken(DataModel.AuthToken token) { token.DateExpired = DateTime.Now.AddDays(AuthTokenDaysExpired); token.IsActive = true; }