Browse Source

Update documentation and move the MVC binder/binder provider to an .Internal namespace

pull/662/head
Kévin Chalet 8 years ago
parent
commit
4d8e458df5
  1. 3
      src/OpenIddict.Abstractions/OpenIddictExtensions.cs
  2. 3
      src/OpenIddict.Core/OpenIddictCoreExtensions.cs
  3. 3
      src/OpenIddict.EntityFramework/OpenIddictEntityFrameworkExtensions.cs
  4. 3
      src/OpenIddict.EntityFrameworkCore/OpenIddictEntityFrameworkCoreExtensions.cs
  5. 3
      src/OpenIddict.MongoDb/OpenIddictMongoDbExtensions.cs
  6. 13
      src/OpenIddict.Mvc/Internal/OpenIddictMvcBinder.cs
  7. 8
      src/OpenIddict.Mvc/Internal/OpenIddictMvcBinderProvider.cs
  8. 5
      src/OpenIddict.Mvc/OpenIddictMvcExtensions.cs
  9. 5
      src/OpenIddict.Server/Internal/OpenIddictServerEventService.cs
  10. 5
      src/OpenIddict.Server/Internal/OpenIddictServerHandler.cs
  11. 2
      src/OpenIddict.Server/Internal/OpenIddictServerInitializer.cs
  12. 5
      src/OpenIddict.Server/Internal/OpenIddictServerProvider.cs
  13. 3
      src/OpenIddict.Server/OpenIddictServerExtensions.cs
  14. 5
      src/OpenIddict.Validation/Internal/OpenIddictValidationEventService.cs
  15. 5
      src/OpenIddict.Validation/Internal/OpenIddictValidationHandler.cs
  16. 2
      src/OpenIddict.Validation/Internal/OpenIddictValidationInitializer.cs
  17. 5
      src/OpenIddict.Validation/Internal/OpenIddictValidationProvider.cs
  18. 8
      src/OpenIddict.Validation/OpenIddictValidationExtensions.cs
  19. 4
      test/OpenIddict.MongoDb.Tests/OpenIddictMongoDbContextTests.cs
  20. 8
      test/OpenIddict.Mvc.Tests/Internal/OpenIddictMvcModelBinderProviderTests.cs
  21. 2
      test/OpenIddict.Mvc.Tests/Internal/OpenIddictMvcModelBinderTests.cs
  22. 1
      test/OpenIddict.Mvc.Tests/OpenIddictMvcExtensionsTests.cs
  23. 5
      test/OpenIddict.Validation.Tests/OpenIddictValidationExtensionsTests.cs

3
src/OpenIddict.Abstractions/OpenIddictExtensions.cs

@ -9,6 +9,9 @@ using JetBrains.Annotations;
namespace Microsoft.Extensions.DependencyInjection
{
/// <summary>
/// Exposes extensions allowing to register the OpenIddict services.
/// </summary>
public static class OpenIddictExtensions
{
/// <summary>

3
src/OpenIddict.Core/OpenIddictCoreExtensions.cs

@ -14,6 +14,9 @@ using OpenIddict.Core;
namespace Microsoft.Extensions.DependencyInjection
{
/// <summary>
/// Exposes extensions allowing to register the OpenIddict core services.
/// </summary>
public static class OpenIddictCoreExtensions
{
/// <summary>

3
src/OpenIddict.EntityFramework/OpenIddictEntityFrameworkExtensions.cs

@ -13,6 +13,9 @@ using OpenIddict.EntityFramework.Models;
namespace Microsoft.Extensions.DependencyInjection
{
/// <summary>
/// Exposes extensions allowing to register the OpenIddict Entity Framework 6.x services.
/// </summary>
public static class OpenIddictEntityFrameworkExtensions
{
/// <summary>

3
src/OpenIddict.EntityFrameworkCore/OpenIddictEntityFrameworkCoreExtensions.cs

@ -14,6 +14,9 @@ using OpenIddict.EntityFrameworkCore.Models;
namespace Microsoft.Extensions.DependencyInjection
{
/// <summary>
/// Exposes extensions allowing to register the OpenIddict Entity Framework Core services.
/// </summary>
public static class OpenIddictEntityFrameworkCoreExtensions
{
/// <summary>

3
src/OpenIddict.MongoDb/OpenIddictMongoDbExtensions.cs

@ -13,6 +13,9 @@ using OpenIddict.MongoDb.Models;
namespace Microsoft.Extensions.DependencyInjection
{
/// <summary>
/// Exposes extensions allowing to register the OpenIddict MongoDB services.
/// </summary>
public static class OpenIddictMongoDbExtensions
{
/// <summary>

13
src/OpenIddict.Mvc/OpenIddictMvcBinder.cs → src/OpenIddict.Mvc/Internal/OpenIddictMvcBinder.cs

@ -14,17 +14,24 @@ using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
namespace OpenIddict.Mvc
namespace OpenIddict.Mvc.Internal
{
/// <summary>
/// Represents an ASP.NET Core MVC model binder that is able to bind
/// <see cref="OpenIdConnectRequest"/> and
/// <see cref="OpenIdConnectResponse"/> instances.
/// <see cref="OpenIdConnectRequest"/> and <see cref="OpenIdConnectResponse"/> instances.
/// Note: this API supports the OpenIddict infrastructure and is not intended to be used
/// directly from your code. This API may change or be removed in future minor releases.
/// </summary>
public class OpenIddictMvcBinder : IModelBinder
{
private readonly IOptionsMonitor<OpenIddictMvcOptions> _options;
/// <summary>
/// Creates a new instance of the <see cref="OpenIddictMvcBinder"/> class.
/// <see cref="OpenIdConnectRequest"/> and <see cref="OpenIdConnectResponse"/> instances.
/// Note: this API supports the OpenIddict infrastructure and is not intended to be used
/// directly from your code. This API may change or be removed in future minor releases.
/// </summary>
public OpenIddictMvcBinder([NotNull] IOptionsMonitor<OpenIddictMvcOptions> options)
{
_options = options;

8
src/OpenIddict.Mvc/OpenIddictMvcBinderProvider.cs → src/OpenIddict.Mvc/Internal/OpenIddictMvcBinderProvider.cs

@ -10,11 +10,13 @@ using JetBrains.Annotations;
using Microsoft.AspNetCore.Mvc.ModelBinding;
using Microsoft.AspNetCore.Mvc.ModelBinding.Binders;
namespace OpenIddict.Mvc
namespace OpenIddict.Mvc.Internal
{
/// <summary>
/// Represents an ASP.NET Core MVC model binder provider that is
/// able to provide instances of <see cref="OpenIddictMvcBinder"/>.
/// Represents an ASP.NET Core MVC model binder provider that is able to provide instances
/// of <see cref="OpenIddictMvcBinder"/> for the OpenID Connect server primitives.
/// Note: this API supports the OpenIddict infrastructure and is not intended to be used
/// directly from your code. This API may change or be removed in future minor releases.
/// </summary>
public class OpenIddictMvcBinderProvider : IModelBinderProvider
{

5
src/OpenIddict.Mvc/OpenIddictMvcExtensions.cs

@ -7,10 +7,13 @@
using System;
using JetBrains.Annotations;
using Microsoft.AspNetCore.Mvc;
using OpenIddict.Mvc;
using OpenIddict.Mvc.Internal;
namespace Microsoft.Extensions.DependencyInjection
{
/// <summary>
/// Exposes extensions allowing to register the OpenIddict MVC services.
/// </summary>
public static class OpenIddictMvcExtensions
{
/// <summary>

5
src/OpenIddict.Server/Internal/OpenIddictServerEventService.cs

@ -23,6 +23,11 @@ namespace OpenIddict.Server.Internal
{
private readonly IServiceProvider _provider;
/// <summary>
/// Creates a new instance of the <see cref="OpenIddictServerEventService"/> class.
/// Note: this API supports the OpenIddict infrastructure and is not intended to be used
/// directly from your code. This API may change or be removed in future minor releases.
/// </summary>
public OpenIddictServerEventService([NotNull] IServiceProvider provider)
{
_provider = provider;

5
src/OpenIddict.Server/Internal/OpenIddictServerHandler.cs

@ -20,6 +20,11 @@ namespace OpenIddict.Server.Internal
/// </summary>
public class OpenIddictServerHandler : OpenIdConnectServerHandler
{
/// <summary>
/// Creates a new instance of the <see cref="OpenIddictServerHandler"/> class.
/// Note: this API supports the OpenIddict infrastructure and is not intended to be used
/// directly from your code. This API may change or be removed in future minor releases.
/// </summary>
public OpenIddictServerHandler(
[NotNull] IOptionsMonitor<OpenIddictServerOptions> options,
[NotNull] ILoggerFactory logger,

2
src/OpenIddict.Server/Internal/OpenIddictServerInitializer.cs

@ -30,6 +30,8 @@ namespace OpenIddict.Server.Internal
/// <summary>
/// Creates a new instance of the <see cref="OpenIddictServerInitializer"/> class.
/// Note: this API supports the OpenIddict infrastructure and is not intended to be used
/// directly from your code. This API may change or be removed in future minor releases.
/// </summary>
public OpenIddictServerInitializer(
[NotNull] IDistributedCache cache,

5
src/OpenIddict.Server/Internal/OpenIddictServerProvider.cs

@ -34,6 +34,11 @@ namespace OpenIddict.Server.Internal
private readonly IOpenIddictScopeManager _scopeManager;
private readonly IOpenIddictTokenManager _tokenManager;
/// <summary>
/// Creates a new instance of the <see cref="OpenIddictServerProvider"/> class.
/// Note: this API supports the OpenIddict infrastructure and is not intended to be used
/// directly from your code. This API may change or be removed in future minor releases.
/// </summary>
public OpenIddictServerProvider(
[NotNull] ILogger<OpenIddictServerProvider> logger,
[NotNull] OpenIddictServerEventService eventService,

3
src/OpenIddict.Server/OpenIddictServerExtensions.cs

@ -18,6 +18,9 @@ using OpenIddict.Server.Internal;
namespace Microsoft.Extensions.DependencyInjection
{
/// <summary>
/// Exposes extensions allowing to register the OpenIddict server services.
/// </summary>
public static class OpenIddictServerExtensions
{
/// <summary>

5
src/OpenIddict.Validation/Internal/OpenIddictValidationEventService.cs

@ -21,6 +21,11 @@ namespace OpenIddict.Validation.Internal
{
private readonly IServiceProvider _provider;
/// <summary>
/// Creates a new instance of the <see cref="OpenIddictValidationEventService"/> class.
/// Note: this API supports the OpenIddict infrastructure and is not intended to be used
/// directly from your code. This API may change or be removed in future minor releases.
/// </summary>
public OpenIddictValidationEventService([NotNull] IServiceProvider provider)
{
_provider = provider;

5
src/OpenIddict.Validation/Internal/OpenIddictValidationHandler.cs

@ -20,6 +20,11 @@ namespace OpenIddict.Validation.Internal
/// </summary>
public class OpenIddictValidationHandler : OAuthValidationHandler
{
/// <summary>
/// Creates a new instance of the <see cref="OpenIddictValidationHandler"/> class.
/// Note: this API supports the OpenIddict infrastructure and is not intended to be used
/// directly from your code. This API may change or be removed in future minor releases.
/// </summary>
public OpenIddictValidationHandler(
[NotNull] IOptionsMonitor<OpenIddictValidationOptions> options,
[NotNull] ILoggerFactory logger,

2
src/OpenIddict.Validation/Internal/OpenIddictValidationInitializer.cs

@ -24,6 +24,8 @@ namespace OpenIddict.Validation.Internal
/// <summary>
/// Creates a new instance of the <see cref="OpenIddictValidationInitializer"/> class.
/// Note: this API supports the OpenIddict infrastructure and is not intended to be used
/// directly from your code. This API may change or be removed in future minor releases.
/// </summary>
public OpenIddictValidationInitializer([NotNull] IDataProtectionProvider dataProtectionProvider)
{

5
src/OpenIddict.Validation/Internal/OpenIddictValidationProvider.cs

@ -23,6 +23,11 @@ namespace OpenIddict.Validation.Internal
{
private readonly OpenIddictValidationEventService _eventService;
/// <summary>
/// Creates a new instance of the <see cref="OpenIddictValidationProvider"/> class.
/// Note: this API supports the OpenIddict infrastructure and is not intended to be used
/// directly from your code. This API may change or be removed in future minor releases.
/// </summary>
public OpenIddictValidationProvider([NotNull] OpenIddictValidationEventService eventService)
=> _eventService = eventService;

8
src/OpenIddict.Validation/OpenIddictValidationExtensions.cs

@ -16,6 +16,9 @@ using OpenIddict.Validation.Internal;
namespace Microsoft.Extensions.DependencyInjection
{
/// <summary>
/// Exposes extensions allowing to register the OpenIddict validation services.
/// </summary>
public static class OpenIddictValidationExtensions
{
/// <summary>
@ -62,8 +65,9 @@ namespace Microsoft.Extensions.DependencyInjection
{
throw new InvalidOperationException(new StringBuilder()
.AppendLine("The OpenIddict validation handler cannot be registered as an authentication scheme.")
.AppendLine("This may indicate that an instance of the OAuth validation handler was registered.")
.Append("Make sure that 'services.AddAuthentication().AddOAuthValidation()' is not used.")
.AppendLine("This may indicate that an instance of the OAuth validation or JWT bearer handler was registered.")
.Append("Make sure that neither 'services.AddAuthentication().AddOAuthValidation()' nor ")
.Append("'services.AddAuthentication().AddJwtBearer()' are called from 'ConfigureServices'.")
.ToString());
}

4
test/OpenIddict.MongoDb.Tests/OpenIddictMongoDbContextTests.cs

@ -73,9 +73,9 @@ namespace OpenIddict.MongoDb.Tests
var context = new OpenIddictMongoDbContext(options, provider);
// Act and assert
var exception = await Assert.ThrowsAsync<InvalidOperationException>(async delegate
var exception = await Assert.ThrowsAsync<InvalidOperationException>(delegate
{
await Task.WhenAll(
return Task.WhenAll(
context.GetDatabaseAsync(CancellationToken.None).AsTask(),
context.GetDatabaseAsync(CancellationToken.None).AsTask(),
context.GetDatabaseAsync(CancellationToken.None).AsTask(),

8
test/OpenIddict.Mvc.Tests/OpenIddictMvcModelBinderProviderTests.cs → test/OpenIddict.Mvc.Tests/Internal/OpenIddictMvcModelBinderProviderTests.cs

@ -6,20 +6,14 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using AspNet.Security.OpenIdConnect.Primitives;
using AspNet.Security.OpenIdConnect.Server;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.ModelBinding;
using Microsoft.AspNetCore.Mvc.ModelBinding.Binders;
using Microsoft.AspNetCore.Mvc.ModelBinding.Metadata;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using Moq;
using Xunit;
namespace OpenIddict.Mvc.Tests
namespace OpenIddict.Mvc.Internal.Tests
{
public class OpenIddictMvcModelBinderProviderTests
{

2
test/OpenIddict.Mvc.Tests/OpenIddictMvcModelBinderTests.cs → test/OpenIddict.Mvc.Tests/Internal/OpenIddictMvcModelBinderTests.cs

@ -19,7 +19,7 @@ using Microsoft.Extensions.Options;
using Moq;
using Xunit;
namespace OpenIddict.Mvc.Tests
namespace OpenIddict.Mvc.Internal.Tests
{
public class OpenIddictMvcModelBinderTests
{

1
test/OpenIddict.Mvc.Tests/OpenIddictMvcExtensionsTests.cs

@ -8,6 +8,7 @@ using System;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using OpenIddict.Mvc.Internal;
using Xunit;
namespace OpenIddict.Mvc.Tests

5
test/OpenIddict.Validation.Tests/OpenIddictValidationExtensionsTests.cs

@ -190,8 +190,9 @@ namespace OpenIddict.Validation.Tests
Assert.Equal(new StringBuilder()
.AppendLine("The OpenIddict validation handler cannot be registered as an authentication scheme.")
.AppendLine("This may indicate that an instance of the OAuth validation handler was registered.")
.Append("Make sure that 'services.AddAuthentication().AddOAuthValidation()' is not used.")
.AppendLine("This may indicate that an instance of the OAuth validation or JWT bearer handler was registered.")
.Append("Make sure that neither 'services.AddAuthentication().AddOAuthValidation()' nor ")
.Append("'services.AddAuthentication().AddJwtBearer()' are called from 'ConfigureServices'.")
.ToString(), exception.Message);
}

Loading…
Cancel
Save