Ejemplo n.º 1
0
        public GenerateTokenResponse Execute(TokenRequestObject tokenRequest)
        {
            var tokenId = _gateway.GenerateToken(tokenRequest);

            if (tokenId != 0)
            {
                var jwtToken = _generateJwtUseCase.GenerateJwtToken(GenerateJwtFactory.ToJwtRequest(tokenRequest, tokenId));
                if (!string.IsNullOrEmpty(jwtToken))
                {
                    return(new GenerateTokenResponse
                    {
                        Id = tokenId,
                        Token = jwtToken,
                        ExpiresAt = tokenRequest.ExpiresAt,
                        GeneratedAt = DateTime.Now
                    });
                }
                //TODO add logic to revert inserted record or update inserted record to reflect that JWT has not been generated
                throw new JwtTokenNotGeneratedException();
            }
            throw new TokenNotInsertedException();
        }