From a36501a9de8d55f366917676d8e002d3d8139334 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 18 Oct 2019 15:27:23 +0800 Subject: [PATCH] Update PersistedGrant data max length. --- .../Abp/IdentityServer/Grants/PersistedGrantConsts.cs | 2 +- .../IdentityServerDbContextModelCreatingExtensions.cs | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Grants/PersistedGrantConsts.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Grants/PersistedGrantConsts.cs index 96a268a0e7..ab46d03ece 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Grants/PersistedGrantConsts.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.Domain.Shared/Volo/Abp/IdentityServer/Grants/PersistedGrantConsts.cs @@ -9,6 +9,6 @@ // 50000 chosen to be explicit to allow enough size to avoid truncation, yet stay beneath the MySql row size limit of ~65K // apparently anything over 4K converts to nvarchar(max) on SqlServer - public const int DataMaxLength = 5000; + public const int DataMaxLength = 50000; } } \ No newline at end of file diff --git a/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/EntityFrameworkCore/IdentityServerDbContextModelCreatingExtensions.cs b/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/EntityFrameworkCore/IdentityServerDbContextModelCreatingExtensions.cs index 3efeb9cc4c..bd69f6948f 100644 --- a/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/EntityFrameworkCore/IdentityServerDbContextModelCreatingExtensions.cs +++ b/modules/identityserver/src/Volo.Abp.IdentityServer.EntityFrameworkCore/Volo/Abp/IdentityServer/EntityFrameworkCore/IdentityServerDbContextModelCreatingExtensions.cs @@ -176,7 +176,15 @@ namespace Volo.Abp.IdentityServer.EntityFrameworkCore grant.Property(x => x.SubjectId).HasMaxLength(PersistedGrantConsts.SubjectIdMaxLength); grant.Property(x => x.ClientId).HasMaxLength(PersistedGrantConsts.ClientIdMaxLength).IsRequired(); grant.Property(x => x.CreationTime).IsRequired(); - grant.Property(x => x.Data).HasMaxLength(PersistedGrantConsts.DataMaxLength).IsRequired(); + + if (options.DatabaseProvider == EfCoreDatabaseProvider.MySql) + { + grant.Property(x => x.Data).HasMaxLength(10000).IsRequired(); + } + else + { + grant.Property(x => x.Data).HasMaxLength(PersistedGrantConsts.DataMaxLength).IsRequired(); + } grant.HasKey(x => x.Key); //TODO: What about Id!!!