docs/en/release-info/migration-guides/openiddict4-to-5.md
//[doc-seo]
{
"Description": "Discover the essential changes for migrating from OpenIddict 4.x to 5.x, including new features and critical updates for a smooth transition."
}
The 5.0 release of OpenIddict is a major release that introduces breaking changes.
Check this blog OpenIddict 5.0 general availability for the new features introduced in OpenIddict 5.0.
I will show the changes you need to make to do the migration.
Please backup your database before doing the migration.
Type(string) of the OpenIddictApplication has been renamed to ClientType(string).ApplicationType(string) has been added to the OpenIddictApplication entity.JsonWebKeySet(string) has been added to the OpenIddictApplication entity.Settings(string) has been added to the OpenIddictApplication entity.The new migration looks like this:
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace OpenIddict.Demo.Server.Migrations
{
/// <inheritdoc />
public partial class openiddict5 : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.RenameColumn(
name: "Type",
table: "OpenIddictApplications",
newName: "ClientType");
migrationBuilder.AddColumn<string>(
name: "ApplicationType",
table: "OpenIddictApplications",
type: "nvarchar(50)",
maxLength: 50,
nullable: true);
migrationBuilder.AddColumn<string>(
name: "JsonWebKeySet",
table: "OpenIddictApplications",
type: "nvarchar(max)",
nullable: true);
migrationBuilder.AddColumn<string>(
name: "Settings",
table: "OpenIddictApplications",
type: "nvarchar(max)",
nullable: true);
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "ApplicationType",
table: "OpenIddictApplications");
migrationBuilder.DropColumn(
name: "JsonWebKeySet",
table: "OpenIddictApplications");
migrationBuilder.DropColumn(
name: "Settings",
table: "OpenIddictApplications");
migrationBuilder.RenameColumn(
name: "ClientType",
table: "OpenIddictApplications",
newName: "Type");
}
}
}
Type(string) of the OpenIddictApplicationModel has been renamed to ClientType(string).ApplicationType(string) has been added to the OpenIddictApplicationModel entity.JsonWebKeySet(JsonWebKeySet) has been added to the OpenIddictApplicationModel entity.Settings(string) has been added to the OpenIddictApplicationModel entity.You have to change the Type to ClientType when creating a new AbpApplicationDescriptor or OpenIddictApplicationDescriptor.
var application = new AbpApplicationDescriptor {
ClientId = name,
- Type = type,
+ ClientType = type,
ClientSecret = secret,
ConsentType = consentType,
DisplayName = displayName,
You can change the ApplicationType when creating/editing a OpenIddict's application, also set time life of the tokens for each application.