mirror of
https://github.com/bitwarden/server.git
synced 2025-06-30 23:52:50 -05:00
[PM-5294][deps]: Update Duende.IdentityServer to v6.3.7 (#3499)
* [deps]: Update Duende.IdentityServer to v6.3.6 * Fix test * Grant table changes * Reassert view * EF migrations * Restore non-null key and simpler index * Master SQL sync * Lint * Fix ID setting since the property isn't exposed * Bump to .7 * Point to new Duende package * Drop unused indexes first --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Matt Bishop <mbishop@bitwarden.com>
This commit is contained in:
@ -1,23 +1,25 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
#nullable enable
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Bit.Core.Auth.Entities;
|
||||
|
||||
public class Grant
|
||||
{
|
||||
public int Id { get; set; }
|
||||
[MaxLength(200)]
|
||||
public string Key { get; set; }
|
||||
public string Key { get; set; } = null!;
|
||||
[MaxLength(50)]
|
||||
public string Type { get; set; }
|
||||
public string Type { get; set; } = null!;
|
||||
[MaxLength(200)]
|
||||
public string SubjectId { get; set; }
|
||||
public string? SubjectId { get; set; }
|
||||
[MaxLength(100)]
|
||||
public string SessionId { get; set; }
|
||||
public string? SessionId { get; set; }
|
||||
[MaxLength(200)]
|
||||
public string ClientId { get; set; }
|
||||
public string ClientId { get; set; } = null!;
|
||||
[MaxLength(200)]
|
||||
public string Description { get; set; }
|
||||
public DateTime CreationDate { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public DateTime CreationDate { get; set; } = DateTime.UtcNow;
|
||||
public DateTime? ExpirationDate { get; set; }
|
||||
public DateTime? ConsumedDate { get; set; }
|
||||
public string Data { get; set; }
|
||||
public string Data { get; set; } = null!;
|
||||
}
|
||||
|
@ -47,7 +47,7 @@
|
||||
<PackageReference Include="Serilog.Extensions.Logging" Version="3.1.0" />
|
||||
<PackageReference Include="Serilog.Extensions.Logging.File" Version="3.0.0" />
|
||||
<PackageReference Include="Sentry.Serilog" Version="3.41.3" />
|
||||
<PackageReference Include="Duende.IdentityServer" Version="6.0.4" />
|
||||
<PackageReference Include="Duende.IdentityServer" Version="6.3.7" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
<PackageReference Include="Serilog.Sinks.AzureCosmosDB" Version="2.0.0" />
|
||||
<PackageReference Include="Serilog.Sinks.SyslogMessages" Version="2.0.9" />
|
||||
|
@ -0,0 +1,21 @@
|
||||
using Bit.Infrastructure.EntityFramework.Auth.Models;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace Bit.Infrastructure.EntityFramework.Auth.Configurations;
|
||||
|
||||
public class GrantEntityTypeConfiguration : IEntityTypeConfiguration<Grant>
|
||||
{
|
||||
public void Configure(EntityTypeBuilder<Grant> builder)
|
||||
{
|
||||
builder
|
||||
.HasKey(s => s.Id)
|
||||
.IsClustered();
|
||||
|
||||
builder
|
||||
.HasIndex(s => s.Key)
|
||||
.IsUnique(true);
|
||||
|
||||
builder.ToTable(nameof(Grant));
|
||||
}
|
||||
}
|
@ -81,6 +81,7 @@ public class GrantRepository : BaseEntityFrameworkRepository, IGrantRepository
|
||||
select g).FirstOrDefaultAsync();
|
||||
if (existingGrant != null)
|
||||
{
|
||||
obj.Id = existingGrant.Id;
|
||||
dbContext.Entry(existingGrant).CurrentValues.SetValues(obj);
|
||||
}
|
||||
else
|
||||
|
@ -81,7 +81,6 @@ public class DatabaseContext : DbContext
|
||||
var eEmergencyAccess = builder.Entity<EmergencyAccess>();
|
||||
var eEvent = builder.Entity<Event>();
|
||||
var eFolder = builder.Entity<Folder>();
|
||||
var eGrant = builder.Entity<Grant>();
|
||||
var eGroup = builder.Entity<Group>();
|
||||
var eGroupUser = builder.Entity<GroupUser>();
|
||||
var eInstallation = builder.Entity<Installation>();
|
||||
@ -134,7 +133,6 @@ public class DatabaseContext : DbContext
|
||||
eCollectionCipher.HasKey(cc => new { cc.CollectionId, cc.CipherId });
|
||||
eCollectionUser.HasKey(cu => new { cu.CollectionId, cu.OrganizationUserId });
|
||||
eCollectionGroup.HasKey(cg => new { cg.CollectionId, cg.GroupId });
|
||||
eGrant.HasKey(x => x.Key);
|
||||
eGroupUser.HasKey(gu => new { gu.GroupId, gu.OrganizationUserId });
|
||||
|
||||
var dataProtector = this.GetService<DP.IDataProtectionProvider>().CreateProtector(
|
||||
@ -161,7 +159,6 @@ public class DatabaseContext : DbContext
|
||||
eEmergencyAccess.ToTable(nameof(EmergencyAccess));
|
||||
eEvent.ToTable(nameof(Event));
|
||||
eFolder.ToTable(nameof(Folder));
|
||||
eGrant.ToTable(nameof(Grant));
|
||||
eGroup.ToTable(nameof(Group));
|
||||
eGroupUser.ToTable(nameof(GroupUser));
|
||||
eInstallation.ToTable(nameof(Installation));
|
||||
|
@ -1,27 +1,25 @@
|
||||
CREATE TABLE [dbo].[Grant] (
|
||||
[Key] NVARCHAR (200) NOT NULL,
|
||||
[Type] NVARCHAR (50) NOT NULL,
|
||||
[SubjectId] NVARCHAR (200) NULL,
|
||||
[SessionId] NVARCHAR (100) NULL,
|
||||
[ClientId] NVARCHAR (200) NOT NULL,
|
||||
[Description] NVARCHAR (200) NULL,
|
||||
[CreationDate] DATETIME2 (7) NOT NULL,
|
||||
[ExpirationDate] DATETIME2 (7) NULL,
|
||||
[ConsumedDate] DATETIME2 (7) NULL,
|
||||
[Data] NVARCHAR (MAX) NOT NULL,
|
||||
CONSTRAINT [PK_Grant] PRIMARY KEY CLUSTERED ([Key] ASC)
|
||||
CREATE TABLE [dbo].[Grant]
|
||||
(
|
||||
[Id] INT NOT NULL IDENTITY,
|
||||
[Key] NVARCHAR (200) NOT NULL,
|
||||
[Type] NVARCHAR (50) NOT NULL,
|
||||
[SubjectId] NVARCHAR (200) NULL,
|
||||
[SessionId] NVARCHAR (100) NULL,
|
||||
[ClientId] NVARCHAR (200) NOT NULL,
|
||||
[Description] NVARCHAR (200) NULL,
|
||||
[CreationDate] DATETIME2 (7) NOT NULL,
|
||||
[ExpirationDate] DATETIME2 (7) NULL,
|
||||
[ConsumedDate] DATETIME2 (7) NULL,
|
||||
[Data] NVARCHAR (MAX) NOT NULL,
|
||||
CONSTRAINT [PK_Grant] PRIMARY KEY CLUSTERED ([Id] ASC)
|
||||
);
|
||||
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [IX_Grant_SubjectId_ClientId_Type]
|
||||
ON [dbo].[Grant]([SubjectId] ASC, [ClientId] ASC, [Type] ASC);
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [IX_Grant_SubjectId_SessionId_Type]
|
||||
ON [dbo].[Grant]([SubjectId] ASC, [SessionId] ASC, [Type] ASC);
|
||||
|
||||
GO
|
||||
CREATE NONCLUSTERED INDEX [IX_Grant_ExpirationDate]
|
||||
ON [dbo].[Grant]([ExpirationDate] ASC);
|
||||
|
||||
GO
|
||||
|
||||
CREATE UNIQUE INDEX [IX_Grant_Key]
|
||||
ON [dbo].[Grant]([Key]);
|
||||
|
Reference in New Issue
Block a user