OpenIddict 4.x to 5.x Migration Guide
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.
OpenIddictApplication changes
- The
Type(string)of theOpenIddictApplicationhas been renamed toClientType(string). - The
ApplicationType(string)has been added to theOpenIddictApplicationentity. - The
JsonWebKeySet(string)has been added to theOpenIddictApplicationentity. - The
Settings(string)has been added to theOpenIddictApplicationentity.
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");
}
}
}
OpenIddictApplicationModel changes
- The
Type(string)of theOpenIddictApplicationModelhas been renamed toClientType(string). - The
ApplicationType(string)has been added to theOpenIddictApplicationModelentity. - The
JsonWebKeySet(JsonWebKeySet) has been added to theOpenIddictApplicationModelentity. - The
Settings(string)has been added to theOpenIddictApplicationModelentity.
OpenIddictApplicationDescriptor changes
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,
OpenIddict Pro module UI changes
You can change the ApplicationType when creating/editing a OpenIddict's application, also set time life of the tokens for each application.
