internal MaybeEmpty <BE.SessionToken> Authenticate(AuthenticateUserCommand credentials) { var lookUp = _storage.Get(credentials.Email); if (!lookUp.Found) { return(MaybeEmpty <BE.SessionToken> .Empty()); } var user = lookUp.Get(); if (Encrypt(credentials.Password) != user.Password) { return(MaybeEmpty <BE.SessionToken> .Empty()); } return(_sessionToken.GenerateToken(user)); }