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 theOpenIddictApplication
has been renamed toClientType(string)
. - The
ApplicationType(string)
has been added to theOpenIddictApplication
entity. - The
JsonWebKeySet(string)
has been added to theOpenIddictApplication
entity. - The
Settings(string)
has been added to theOpenIddictApplication
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");
}
}
}
OpenIddictApplicationModel changes
- The
Type(string)
of theOpenIddictApplicationModel
has been renamed toClientType(string)
. - The
ApplicationType(string)
has been added to theOpenIddictApplicationModel
entity. - The
JsonWebKeySet
(JsonWebKeySet) has been added to theOpenIddictApplicationModel
entity. - The
Settings(string)
has been added to theOpenIddictApplicationModel
entity.
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.