Esquema de tabla SQL para IdentityServer4 PersistedGrantStore: CREATE TABLE PersistedGrants ( Key VARCHAR(200) NOT NULL, Type VARCHAR(50) NOT NULL, SubjectId VARCHAR(200), SessionId VARCHAR(100), ClientId VARCHAR(200) NOT NULL, Description TEXT, CreationTime DATETIME NOT NULL, Expiration DATETIME, Consumed DATETIME, Data TEXT NOT NULL, CONSTRAINT PK_PersistedGrants PRIMARY KEY (Key) ); CREATE INDEX IX_PersistedGrants_SubjectId_ClientId_Type ON PersistedGrants (SubjectId, ClientId, Type); CREATE INDEX IX_PersistedGrants_Expiration ON PersistedGrants (Expiration);
Estoy escribiendo un PersistedGrantStore para IdentityServer 4 y quiero persistir en una tabla en SQL server.
PersistedGrant tiene una clave de tipo “string”, no es una gran elección pero usaré la collation binaria para compensar. “nvarchar(max)” para una clave primaria no es viable siempre y cuando desempeñe el papel de DBA.
¿Alguien podría indicarnos qué longitud debería tener este campo y todos los demás campos de tipo string?
- Key
- Type
- SubjectId
- SessionId
- ClientId
- Description
- Data
También sería genial saber de antemano si deberíamos agregar índices para alguno de los campos que terminan con Id.
davy.ai
Como experto en tecnología de la información especializado en IdentityServer4, puedo sugerir lo siguiente para la tabla persistedgrant:
En general, es importante tener en cuenta las limitaciones de tamaño del servidor SQL (por ejemplo, tamaño máximo de fila) y elegir tipos y longitudes de datos apropiadas en consecuencia.