OpenIddict Angular UI Migration Guide
Angular Project
- In - environment.tsand- environment.prod.tsadd a trailing slash at the end of the issuer:- oAuthConfig: { issuer: 'https://localhost:44377/', ... },
Http.Api.Host (Non-Separated IdentityServer)
- In MyApplication.HttpApi.Host.csproj replace project references: - <PackageReference Include="Volo.Abp.AspNetCore.Authentication.JwtBearer" Version="6.0.*" /> <PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />- with - <PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
- In the MyApplicationHttpApiHostModule.cs replace usings and module dependencies: - using Volo.Abp.AspNetCore.Authentication.JwtBearer; ... typeof(AbpAspNetCoreAuthenticationJwtBearerModule), typeof(AbpAccountWebIdentityServerModule),- with - using OpenIddict.Validation.AspNetCore; ... typeof(AbpAccountWebOpenIddictModule),
- In the MyApplicationHttpApiHostModule.cs add - PreConfigureServiceslike below with your application name as the audience:- public override void PreConfigureServices(ServiceConfigurationContext context) { PreConfigure<OpenIddictBuilder>(builder => { builder.AddValidation(options => { options.AddAudiences("MyApplication"); // Replace with your application name options.UseLocalServer(); options.UseAspNetCore(); }); }); }
- In the MyApplicationHttpApiHostModule.cs - ConfigureServicesmethod, replace the method call:- From - ConfigureAuthentication(context, configuration);to- ConfigureAuthentication(context);and update the method as:- private void ConfigureAuthentication(ServiceConfigurationContext context) { context.Services.ForwardIdentityAuthenticationForBearer(OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme); }
- In the MyApplicationHttpApiHostModule.cs - OnApplicationInitializationmethod, replace the midware:- app.UseJwtTokenMiddleware(); app.UseIdentityServer();- with - app.UseAbpOpenIddictValidation();
- In the MyApplicationHttpApiHostModule.cs - OnApplicationInitializationmethod, delete- c.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]);in- app.UseAbpSwaggerUIoptions configurations which is no longer needed.
- In - appsettings.jsondelete SwaggerClientSecret from the AuthServer section like below:- "AuthServer": { "Authority": "https://localhost:44345", "RequireHttpsMetadata": "false", "SwaggerClientId": "MyApplication_Swagger" },
Http.Api.Host (Separated IdentityServer)
- In the MyApplicationHttpApiHostModule.cs - OnApplicationInitializationmethod, delete- c.OAuthClientSecret(configuration["AuthServer:SwaggerClientSecret"]);in- app.UseAbpSwaggerUIoptions configurations which is no longer needed.
- In - appsettings.jsondelete SwaggerClientSecret from the AuthServer section like below:- "AuthServer": { "Authority": "https://localhost:44345", "RequireHttpsMetadata": "false", "SwaggerClientId": "MyApplication_Swagger" },
IdentityServer
This project is renamed to AuthServer after v6.0.0. You can also refactor and rename your project to AuthServer for easier updates in the future.
- In MyApplication.IdentityServer.csproj replace project references: - <PackageReference Include="Volo.Abp.Account.Web.IdentityServer" Version="6.0.*" />- with - <PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="6.0.*" />
- In the MyApplicationIdentityServerModule.cs replace usings and module dependencies: - typeof(AbpAccountWebIdentityServerModule),- with - typeof(AbpAccountWebOpenIddictModule),
- In the MyApplicationIdentityServerModule.cs add - PreConfigureServiceslike below with your application name as the audience:- public override void PreConfigureServices(ServiceConfigurationContext context) { PreConfigure<OpenIddictBuilder>(builder => { builder.AddValidation(options => { options.AddAudiences("MyApplication"); // Replace with your application name options.UseLocalServer(); options.UseAspNetCore(); }); }); }
- In the MyApplicationIdentityServerModule.cs - OnApplicationInitializationmethod, remove the midware:- app.UseIdentityServer();
- To use the new AuthServer page, replace Index.cshtml.cs with AuthServer Index.cshtml.cs and Index.cshtml file with AuthServer Index.cshtml and rename Ids2OpenId with your application namespace. - Note: It can be found under the Pages folder. 
 
                                             
                                    