diff --git a/.nuget/nuget.config b/.nuget/nuget.config
deleted file mode 100644
index da0fdaeeb..000000000
--- a/.nuget/nuget.config
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/src/Squidex.Core/project.json b/src/Squidex.Core/project.json
index dcee19614..001945ae6 100644
--- a/src/Squidex.Core/project.json
+++ b/src/Squidex.Core/project.json
@@ -1,9 +1,9 @@
{
"dependencies": {
- "NETStandard.Library": "1.6.0",
"NodaTime": "2.0.0-alpha20160729",
"Squidex.Infrastructure": "1.0.0-*",
- "protobuf-net": "2.1.0"
+ "protobuf-net": "2.1.0",
+ "NETStandard.Library": "1.6.1"
},
"frameworks": {
"netcoreapp1.0": {
diff --git a/src/Squidex.Events/project.json b/src/Squidex.Events/project.json
index 0a95a847a..8f2771316 100644
--- a/src/Squidex.Events/project.json
+++ b/src/Squidex.Events/project.json
@@ -2,7 +2,7 @@
"version": "1.0.0-*",
"dependencies": {
- "NETStandard.Library": "1.6.0",
+ "NETStandard.Library": "1.6.1",
"NodaTime": "2.0.0-alpha20160729",
"Squidex.Core": "1.0.0-*",
"Squidex.Infrastructure": "1.0.0-*"
diff --git a/src/Squidex.Infrastructure/project.json b/src/Squidex.Infrastructure/project.json
index d6e6623a7..e085e6508 100644
--- a/src/Squidex.Infrastructure/project.json
+++ b/src/Squidex.Infrastructure/project.json
@@ -4,7 +4,7 @@
"Autofac": "4.2.1",
"EventStore.ClientAPI.NetCore": "0.0.1-alpha",
"Microsoft.Extensions.Logging": "1.1.0",
- "NETStandard.Library": "1.6.0",
+ "NETStandard.Library": "1.6.1",
"Newtonsoft.Json": "9.0.2-beta1",
"NodaTime": "2.0.0-alpha20160729",
"protobuf-net": "2.1.0",
diff --git a/src/Squidex.Read/project.json b/src/Squidex.Read/project.json
index 4a4162598..c172fb848 100644
--- a/src/Squidex.Read/project.json
+++ b/src/Squidex.Read/project.json
@@ -4,7 +4,7 @@
"dependencies": {
"Microsoft.Extensions.Caching.Memory": "1.1.0",
"MongoDB.Driver": "2.4.0",
- "NETStandard.Library": "1.6.0",
+ "NETStandard.Library": "1.6.1",
"NodaTime": "2.0.0-alpha20160729",
"Squidex.Core": "1.0.0-*",
"Squidex.Events": "1.0.0-*",
diff --git a/src/Squidex.Store.MongoDb/project.json b/src/Squidex.Store.MongoDb/project.json
index 79eec6f57..a84cdfe3a 100644
--- a/src/Squidex.Store.MongoDb/project.json
+++ b/src/Squidex.Store.MongoDb/project.json
@@ -5,7 +5,7 @@
"Microsoft.AspNetCore.Identity": "1.1.0",
"Microsoft.AspNetCore.Identity.MongoDB": "1.0.2",
"MongoDB.Driver": "2.4.0",
- "NETStandard.Library": "1.6.0",
+ "NETStandard.Library": "1.6.1",
"Squidex.Core": "1.0.0-*",
"Squidex.Events": "1.0.0-*",
"Squidex.Infrastructure": "1.0.0-*",
diff --git a/src/Squidex.Write/project.json b/src/Squidex.Write/project.json
index 70589e3b5..f9e0bdec8 100644
--- a/src/Squidex.Write/project.json
+++ b/src/Squidex.Write/project.json
@@ -3,7 +3,7 @@
"dependencies": {
"Microsoft.AspNetCore.Identity": "1.1.0",
- "NETStandard.Library": "1.6.0",
+ "NETStandard.Library": "1.6.1",
"NodaTime": "2.0.0-alpha20160729",
"Squidex.Core": "1.0.0-*",
"Squidex.Events": "1.0.0-*",
diff --git a/src/Squidex/Config/Identity/IdentityServices.cs b/src/Squidex/Config/Identity/IdentityServices.cs
index 94ccd9644..7434b3165 100644
--- a/src/Squidex/Config/Identity/IdentityServices.cs
+++ b/src/Squidex/Config/Identity/IdentityServices.cs
@@ -40,17 +40,21 @@ namespace Squidex.Config.Identity
}
services.AddSingleton(
- GetScopes());
+ GetApiResources());
+ services.AddSingleton(
+ GetIdentityResources());
services.AddSingleton();
- services.AddSingleton();
+ services.AddSingleton();
services.AddIdentityServer(options =>
{
options.UserInteractionOptions.ErrorUrl = "/account/error/";
})
- .SetSigningCredential(certificate)
+ .AddInMemoryApiResources(GetApiResources())
+ .AddInMemoryIdentityResources(GetIdentityResources())
+ .AddSigningCredential(certificate)
.AddAspNetIdentity();
return services;
@@ -64,26 +68,21 @@ namespace Squidex.Config.Identity
return services;
}
- public static IEnumerable GetScopes()
+ private static IEnumerable GetApiResources()
{
- return new List
- {
- StandardScopes.OpenId,
- StandardScopes.Profile,
- new Scope
- {
- Name = Constants.ProfileScope, Type = ScopeType.Identity,
- Claims = new List
- {
- new ScopeClaim(ExtendedClaimTypes.SquidexDisplayName, true),
- new ScopeClaim(ExtendedClaimTypes.SquidexPictureUrl, true)
- }
- },
- new Scope
+ yield return new ApiResource(Constants.ApiScope);
+ }
+
+ private static IEnumerable GetIdentityResources()
+ {
+ yield return new IdentityResources.OpenId();
+ yield return new IdentityResources.Profile();
+ yield return new IdentityResource(Constants.ProfileScope,
+ new[]
{
- Name = Constants.ApiScope, Type = ScopeType.Resource
- }
- };
+ ExtendedClaimTypes.SquidexDisplayName,
+ ExtendedClaimTypes.SquidexPictureUrl
+ });
}
}
}
diff --git a/src/Squidex/Config/Identity/IdentityUsage.cs b/src/Squidex/Config/Identity/IdentityUsage.cs
index f33d413ff..123ce6187 100644
--- a/src/Squidex/Config/Identity/IdentityUsage.cs
+++ b/src/Squidex/Config/Identity/IdentityUsage.cs
@@ -100,8 +100,8 @@ namespace Squidex.Config.Identity
app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions
{
Authority = apiAuthorityUrl,
- ScopeName = apiScope,
- ScopeSecret = null,
+ ApiName = apiScope,
+ ApiSecret = null,
RequireHttpsMetadata = identityOptions.RequiresHttps
});
}
diff --git a/src/Squidex/Config/Identity/LazyClientStore.cs b/src/Squidex/Config/Identity/LazyClientStore.cs
index ae46e4626..34f0a897f 100644
--- a/src/Squidex/Config/Identity/LazyClientStore.cs
+++ b/src/Squidex/Config/Identity/LazyClientStore.cs
@@ -10,6 +10,7 @@ using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
+using IdentityServer4;
using IdentityServer4.Models;
using IdentityServer4.Stores;
using Microsoft.Extensions.Options;
@@ -111,8 +112,8 @@ namespace Squidex.Config.Identity
AllowedGrantTypes = GrantTypes.Implicit,
AllowedScopes = new List
{
- StandardScopes.OpenId.Name,
- StandardScopes.Profile.Name,
+ IdentityServerConstants.StandardScopes.OpenId,
+ IdentityServerConstants.StandardScopes.Profile,
Constants.ApiScope,
Constants.ProfileScope
},
diff --git a/src/Squidex/Controllers/Api/Schemas/Models/Fields/NumberField.cs b/src/Squidex/Controllers/Api/Schemas/Models/Fields/NumberField.cs
index 0ea566c17..fcf87415d 100644
--- a/src/Squidex/Controllers/Api/Schemas/Models/Fields/NumberField.cs
+++ b/src/Squidex/Controllers/Api/Schemas/Models/Fields/NumberField.cs
@@ -6,11 +6,13 @@
// All rights reserved.
// ==========================================================================
+using NJsonSchema.Annotations;
using Squidex.Core.Schemas;
using Squidex.Infrastructure.Reflection;
namespace Squidex.Controllers.Api.Schemas.Models.Fields
{
+ [JsonSchema("Number")]
public sealed class NumberField : FieldPropertiesDto
{
///
diff --git a/src/Squidex/Controllers/Api/Schemas/Models/Fields/StringField.cs b/src/Squidex/Controllers/Api/Schemas/Models/Fields/StringField.cs
index 8d9e1082c..a3dd12a02 100644
--- a/src/Squidex/Controllers/Api/Schemas/Models/Fields/StringField.cs
+++ b/src/Squidex/Controllers/Api/Schemas/Models/Fields/StringField.cs
@@ -6,11 +6,13 @@
// All rights reserved.
// ==========================================================================
+using NJsonSchema.Annotations;
using Squidex.Core.Schemas;
using Squidex.Infrastructure.Reflection;
namespace Squidex.Controllers.Api.Schemas.Models.Fields
{
+ [JsonSchema("String")]
public sealed class StringField : FieldPropertiesDto
{
///
diff --git a/src/Squidex/project.json b/src/Squidex/project.json
index 18f573083..f48549c20 100644
--- a/src/Squidex/project.json
+++ b/src/Squidex/project.json
@@ -27,7 +27,7 @@
"type": "platform"
},
"MongoDB.Driver": "2.4.0",
-"NJsonSchema": "6.5.6190.16910",
+ "NJsonSchema": "6.3.6185.19861",
"NSwag.AspNetCore": "8.0.0",
"OpenCover": "4.6.519",
"ReportGenerator": "2.5.2-beta2",
diff --git a/tests/Squidex.Infrastructure.Tests/TypeNameAttributeTest.cs b/tests/Squidex.Infrastructure.Tests/TypeNameAttributeTest.cs
index 2a8ebf214..819050ded 100644
--- a/tests/Squidex.Infrastructure.Tests/TypeNameAttributeTest.cs
+++ b/tests/Squidex.Infrastructure.Tests/TypeNameAttributeTest.cs
@@ -1,7 +1,11 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
+// ==========================================================================
+// TypeNameAttributeTest.cs
+// Squidex Headless CMS
+// ==========================================================================
+// Copyright (c) Squidex Group
+// All rights reserved.
+// ==========================================================================
+
using Xunit;
namespace Squidex.Infrastructure