/// <inheritdoc/>
    public Task <BackchannelAuthenticationUserValidatonResult> ValidateRequestAsync(BackchannelAuthenticationUserValidatorContext userValidatorContext)
    {
        var result = new BackchannelAuthenticationUserValidatonResult();

        TestUser user = default;

        if (userValidatorContext.LoginHint != null)
        {
            user = _testUserStore.FindByUsername(userValidatorContext.LoginHint);
        }
        else if (userValidatorContext.IdTokenHintClaims != null)
        {
            user = _testUserStore.FindBySubjectId(userValidatorContext.IdTokenHintClaims.SingleOrDefault(x => x.Type == JwtClaimTypes.Subject)?.Value);
        }

        if (user != null && user.IsActive)
        {
            var claims = new List <Claim>
            {
                new Claim(JwtClaimTypes.Subject, user.SubjectId)
            };
            var ci = new ClaimsIdentity(claims, "ciba");
            result.Subject = new ClaimsPrincipal(ci);
        }

        return(Task.FromResult(result));
    }
    /// <inheritdoc/>
    public Task <BackchannelAuthenticationUserValidatonResult> ValidateRequestAsync(BackchannelAuthenticationUserValidatorContext userValidatorContext)
    {
        var result = new BackchannelAuthenticationUserValidatonResult {
            Error = "not implemented"
        };

        return(Task.FromResult(result));
    }