7 changed files with 1808 additions and 0 deletions
@ -0,0 +1,55 @@ |
|||||
|
/* |
||||
|
* Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
||||
|
* See https://github.com/openiddict/openiddict-core for more information concerning
|
||||
|
* the license and the contributors participating to this project. |
||||
|
*/ |
||||
|
|
||||
|
using System.Threading.Tasks; |
||||
|
using Microsoft.AspNetCore; |
||||
|
using Microsoft.Net.Http.Headers; |
||||
|
using OpenIddict.Abstractions; |
||||
|
using OpenIddict.Server.FunctionalTests; |
||||
|
using Xunit; |
||||
|
using static OpenIddict.Abstractions.OpenIddictConstants; |
||||
|
using static OpenIddict.Server.OpenIddictServerEvents; |
||||
|
|
||||
|
namespace OpenIddict.Server.AspNetCore.FunctionalTests |
||||
|
{ |
||||
|
public partial class OpenIddictServerAspNetCoreIntegrationTests : OpenIddictServerIntegrationTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public async Task ExtractIntrospectionRequest_MultipleClientCredentialsCauseAnError() |
||||
|
{ |
||||
|
// Arrange
|
||||
|
var client = CreateClient(options => |
||||
|
{ |
||||
|
options.EnableDegradedMode(); |
||||
|
|
||||
|
options.AddEventHandler<ExtractIntrospectionRequestContext>(builder => |
||||
|
{ |
||||
|
builder.UseInlineHandler(context => |
||||
|
{ |
||||
|
var request = context.Transaction.GetHttpRequest(); |
||||
|
request.Headers[HeaderNames.Authorization] = "Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW"; |
||||
|
|
||||
|
return default; |
||||
|
}); |
||||
|
|
||||
|
builder.SetOrder(int.MinValue); |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
// Act
|
||||
|
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest |
||||
|
{ |
||||
|
ClientId = "Fabrikam", |
||||
|
ClientSecret = "7Fjfp0ZBr1KtDRbnfVdmIw", |
||||
|
Token = "2YotnFZFEjr1zCsicMWpAA" |
||||
|
}); |
||||
|
|
||||
|
// Assert
|
||||
|
Assert.Equal(Errors.InvalidRequest, response.Error); |
||||
|
Assert.Equal("Multiple client credentials cannot be specified.", response.ErrorDescription); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
File diff suppressed because it is too large
@ -0,0 +1,54 @@ |
|||||
|
/* |
||||
|
* Licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
|
||||
|
* See https://github.com/openiddict/openiddict-core for more information concerning
|
||||
|
* the license and the contributors participating to this project. |
||||
|
*/ |
||||
|
|
||||
|
using System.Threading.Tasks; |
||||
|
using OpenIddict.Abstractions; |
||||
|
using OpenIddict.Server.FunctionalTests; |
||||
|
using Owin; |
||||
|
using Xunit; |
||||
|
using static OpenIddict.Abstractions.OpenIddictConstants; |
||||
|
using static OpenIddict.Server.OpenIddictServerEvents; |
||||
|
|
||||
|
namespace OpenIddict.Server.Owin.FunctionalTests |
||||
|
{ |
||||
|
public partial class OpenIddictServerOwinIntegrationTests : OpenIddictServerIntegrationTests |
||||
|
{ |
||||
|
[Fact] |
||||
|
public async Task ExtractIntrospectionRequest_MultipleClientCredentialsCauseAnError() |
||||
|
{ |
||||
|
// Arrange
|
||||
|
var client = CreateClient(options => |
||||
|
{ |
||||
|
options.EnableDegradedMode(); |
||||
|
|
||||
|
options.AddEventHandler<ExtractIntrospectionRequestContext>(builder => |
||||
|
{ |
||||
|
builder.UseInlineHandler(context => |
||||
|
{ |
||||
|
var request = context.Transaction.GetOwinRequest(); |
||||
|
request.Headers["Authorization"] = "Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW"; |
||||
|
|
||||
|
return default; |
||||
|
}); |
||||
|
|
||||
|
builder.SetOrder(int.MinValue); |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
// Act
|
||||
|
var response = await client.PostAsync("/connect/introspect", new OpenIddictRequest |
||||
|
{ |
||||
|
ClientId = "Fabrikam", |
||||
|
ClientSecret = "7Fjfp0ZBr1KtDRbnfVdmIw", |
||||
|
Token = "2YotnFZFEjr1zCsicMWpAA" |
||||
|
}); |
||||
|
|
||||
|
// Assert
|
||||
|
Assert.Equal(Errors.InvalidRequest, response.Error); |
||||
|
Assert.Equal("Multiple client credentials cannot be specified.", response.ErrorDescription); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue