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 namespace Microsoft.Extensions.DependencyInjection
{ {
/// <summary>
/// Exposes extensions allowing to register the OpenIddict services.
/// </summary>
public static class OpenIddictExtensions public static class OpenIddictExtensions
{ {
/// <summary> /// <summary>

3
src/OpenIddict.Core/OpenIddictCoreExtensions.cs

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

3
src/OpenIddict.EntityFramework/OpenIddictEntityFrameworkExtensions.cs

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

3
src/OpenIddict.EntityFrameworkCore/OpenIddictEntityFrameworkCoreExtensions.cs

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

3
src/OpenIddict.MongoDb/OpenIddictMongoDbExtensions.cs

@ -13,6 +13,9 @@ using OpenIddict.MongoDb.Models;
namespace Microsoft.Extensions.DependencyInjection namespace Microsoft.Extensions.DependencyInjection
{ {
/// <summary>
/// Exposes extensions allowing to register the OpenIddict MongoDB services.
/// </summary>
public static class OpenIddictMongoDbExtensions public static class OpenIddictMongoDbExtensions
{ {
/// <summary> /// <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.DependencyInjection;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
namespace OpenIddict.Mvc namespace OpenIddict.Mvc.Internal
{ {
/// <summary> /// <summary>
/// Represents an ASP.NET Core MVC model binder that is able to bind /// Represents an ASP.NET Core MVC model binder that is able to bind
/// <see cref="OpenIdConnectRequest"/> and /// <see cref="OpenIdConnectRequest"/> and <see cref="OpenIdConnectResponse"/> instances.
/// <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> /// </summary>
public class OpenIddictMvcBinder : IModelBinder public class OpenIddictMvcBinder : IModelBinder
{ {
private readonly IOptionsMonitor<OpenIddictMvcOptions> _options; 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) public OpenIddictMvcBinder([NotNull] IOptionsMonitor<OpenIddictMvcOptions> options)
{ {
_options = 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;
using Microsoft.AspNetCore.Mvc.ModelBinding.Binders; using Microsoft.AspNetCore.Mvc.ModelBinding.Binders;
namespace OpenIddict.Mvc namespace OpenIddict.Mvc.Internal
{ {
/// <summary> /// <summary>
/// Represents an ASP.NET Core MVC model binder provider that is /// Represents an ASP.NET Core MVC model binder provider that is able to provide instances
/// able to provide instances of <see cref="OpenIddictMvcBinder"/>. /// 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> /// </summary>
public class OpenIddictMvcBinderProvider : IModelBinderProvider public class OpenIddictMvcBinderProvider : IModelBinderProvider
{ {

5
src/OpenIddict.Mvc/OpenIddictMvcExtensions.cs

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

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

@ -23,6 +23,11 @@ namespace OpenIddict.Server.Internal
{ {
private readonly IServiceProvider _provider; 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) public OpenIddictServerEventService([NotNull] IServiceProvider provider)
{ {
_provider = provider; _provider = provider;

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

@ -20,6 +20,11 @@ namespace OpenIddict.Server.Internal
/// </summary> /// </summary>
public class OpenIddictServerHandler : OpenIdConnectServerHandler 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( public OpenIddictServerHandler(
[NotNull] IOptionsMonitor<OpenIddictServerOptions> options, [NotNull] IOptionsMonitor<OpenIddictServerOptions> options,
[NotNull] ILoggerFactory logger, [NotNull] ILoggerFactory logger,

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

@ -30,6 +30,8 @@ namespace OpenIddict.Server.Internal
/// <summary> /// <summary>
/// Creates a new instance of the <see cref="OpenIddictServerInitializer"/> class. /// 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> /// </summary>
public OpenIddictServerInitializer( public OpenIddictServerInitializer(
[NotNull] IDistributedCache cache, [NotNull] IDistributedCache cache,

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

@ -34,6 +34,11 @@ namespace OpenIddict.Server.Internal
private readonly IOpenIddictScopeManager _scopeManager; private readonly IOpenIddictScopeManager _scopeManager;
private readonly IOpenIddictTokenManager _tokenManager; 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( public OpenIddictServerProvider(
[NotNull] ILogger<OpenIddictServerProvider> logger, [NotNull] ILogger<OpenIddictServerProvider> logger,
[NotNull] OpenIddictServerEventService eventService, [NotNull] OpenIddictServerEventService eventService,

3
src/OpenIddict.Server/OpenIddictServerExtensions.cs

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

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

@ -21,6 +21,11 @@ namespace OpenIddict.Validation.Internal
{ {
private readonly IServiceProvider _provider; 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) public OpenIddictValidationEventService([NotNull] IServiceProvider provider)
{ {
_provider = provider; _provider = provider;

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

@ -20,6 +20,11 @@ namespace OpenIddict.Validation.Internal
/// </summary> /// </summary>
public class OpenIddictValidationHandler : OAuthValidationHandler 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( public OpenIddictValidationHandler(
[NotNull] IOptionsMonitor<OpenIddictValidationOptions> options, [NotNull] IOptionsMonitor<OpenIddictValidationOptions> options,
[NotNull] ILoggerFactory logger, [NotNull] ILoggerFactory logger,

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

@ -24,6 +24,8 @@ namespace OpenIddict.Validation.Internal
/// <summary> /// <summary>
/// Creates a new instance of the <see cref="OpenIddictValidationInitializer"/> class. /// 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> /// </summary>
public OpenIddictValidationInitializer([NotNull] IDataProtectionProvider dataProtectionProvider) public OpenIddictValidationInitializer([NotNull] IDataProtectionProvider dataProtectionProvider)
{ {

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

@ -23,6 +23,11 @@ namespace OpenIddict.Validation.Internal
{ {
private readonly OpenIddictValidationEventService _eventService; 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) public OpenIddictValidationProvider([NotNull] OpenIddictValidationEventService eventService)
=> _eventService = eventService; => _eventService = eventService;

8
src/OpenIddict.Validation/OpenIddictValidationExtensions.cs

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

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

@ -73,9 +73,9 @@ namespace OpenIddict.MongoDb.Tests
var context = new OpenIddictMongoDbContext(options, provider); var context = new OpenIddictMongoDbContext(options, provider);
// Act and assert // 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(), 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;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks;
using AspNet.Security.OpenIdConnect.Primitives; 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;
using Microsoft.AspNetCore.Mvc.ModelBinding.Binders; using Microsoft.AspNetCore.Mvc.ModelBinding.Binders;
using Microsoft.AspNetCore.Mvc.ModelBinding.Metadata; using Microsoft.AspNetCore.Mvc.ModelBinding.Metadata;
using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
using Moq; using Moq;
using Xunit; using Xunit;
namespace OpenIddict.Mvc.Tests namespace OpenIddict.Mvc.Internal.Tests
{ {
public class OpenIddictMvcModelBinderProviderTests 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 Moq;
using Xunit; using Xunit;
namespace OpenIddict.Mvc.Tests namespace OpenIddict.Mvc.Internal.Tests
{ {
public class OpenIddictMvcModelBinderTests public class OpenIddictMvcModelBinderTests
{ {

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

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

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

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

Loading…
Cancel
Save