public UserInfoEndpoint(IdentityServerOptions options, ITokenValidator tokenValidator, IUserInfoResponseGenerator generator, BearerTokenUsageValidator tokenUsageValidator, IEventService events, ILogger<UserInfoEndpoint> logger) { _options = options; _tokenValidator = tokenValidator; _tokenUsageValidator = tokenUsageValidator; _generator = generator; _events = events; _logger = logger; }
public async Task No_Header_no_Body_Post() { var ctx = new DefaultHttpContext(); ctx.Request.Method = "POST"; var validator = new BearerTokenUsageValidator(); var result = await validator.ValidateAsync(ctx); result.TokenFound.Should().BeFalse(); }
public async Task Whitespaces_Bearer_Scheme_Header() { var ctx = new DefaultHttpContext(); ctx.Request.Method = "GET"; ctx.Request.Headers.Add("Authorization", new string[] { "Bearer " }); var validator = new BearerTokenUsageValidator(); var result = await validator.ValidateAsync(ctx); result.TokenFound.Should().BeFalse(); }
public async Task Valid_Bearer_Scheme_Header() { var ctx = new DefaultHttpContext(); ctx.Request.Method = "GET"; ctx.Request.Headers.Add("Authorization", new string[] { "Bearer token" }); var validator = new BearerTokenUsageValidator(); var result = await validator.ValidateAsync(ctx); result.TokenFound.Should().BeTrue(); result.Token.Should().Be("token"); result.UsageType.Should().Be(BearerTokenUsageType.AuthorizationHeader); }
public async Task Body_Post_no_Token() { var ctx = new DefaultHttpContext(); ctx.Request.Method = "POST"; ctx.Request.ContentType = "application/x-www-form-urlencoded"; var body = "foo=bar"; ctx.Request.Body = new MemoryStream(Encoding.UTF8.GetBytes(body)); var validator = new BearerTokenUsageValidator(); var result = await validator.ValidateAsync(ctx); result.TokenFound.Should().BeFalse(); }
public async Task Valid_Body_Post() { var ctx = new DefaultHttpContext(); ctx.Request.Method = "POST"; ctx.Request.ContentType = "application/x-www-form-urlencoded"; var body = "access_token=token"; ctx.Request.Body = new MemoryStream(Encoding.UTF8.GetBytes(body)); var validator = new BearerTokenUsageValidator(); var result = await validator.ValidateAsync(ctx); result.TokenFound.Should().BeTrue(); result.Token.Should().Be("token"); result.UsageType.Should().Be(BearerTokenUsageType.PostBody); }