If I specify the order in routes and not patching it againg getting that error as above image
const newHomeRouteShowConfig: Partial<ABP.Route> = { invisible: false, requiredPolicy: 'Admin', order: 0 };
const newHomeRouteHideConfig: Partial<ABP.Route> = { invisible: true, requiredPolicy: 'Admin', order: 0 };
this.routes.patch('Entities', newHomeRouteShowConfig); this.routes.patch('Banks', newHomeRouteShowConfig); this.routes.patch('Suppliers', newHomeRouteShowConfig); this.routes.patch('Program', newHomeRouteHideConfig);
this patch code is added to app.component.ts
If I specify the order 0 while pattch the menu is arrangeing the order of excuting the code
but in mozilla it showing different order in other browsers it showing differnt order.
1)app-routing.module.ts
const routes: Routes = [ { path: 'anchor-admin-dashboard', component: ApplicationLayoutComponent, loadChildren: () => import('./dashboard1/dashboard1.module').then((m) => m.Dashboard1Module), canActivate: [AuthGuard, PermissionGuard], data: { routes: { name: '::Menu:Dashboard', iconClass: 'fa fa-line-chart', requiredPolicy: 'Admin', order:1, } as ABP.Route, }, }, { path: 'suppliers', component: ApplicationLayoutComponent, loadChildren: () => import('./manage-supplier/manage-supplier.module').then((m) => m.ManageSupplierModule), canActivate: [AuthGuard, PermissionGuard], data: { routes: { name: 'Suppliers', iconClass: 'fa fa-line-chart', requiredPolicy: 'Admin', order: 2, } as ABP.Route, }, }, { path: 'banks', component: ApplicationLayoutComponent, loadChildren: () => import('./manage-bank/manage-bank.module').then((m) => m.ManageBankModule), canActivate: [AuthGuard, PermissionGuard], data: { routes: { name: 'Banks', iconClass: 'fa fa-line-chart', requiredPolicy: 'Admin', order: 3, } as ABP.Route, }, }, { path: 'entities', component: ApplicationLayoutComponent, loadChildren: () => import('./manage-entity/manage-entity.module').then((m) => m.ManageEntityModule), canActivate: [AuthGuard, PermissionGuard], data: { routes: { name: 'Entities', iconClass: 'fa fa-line-chart', requiredPolicy: 'Admin', order:4, } as ABP.Route, }, }, { path: 'program', component: ApplicationLayoutComponent, loadChildren: () => import('./manage-program/manage-program.module').then(m => m.ManageProgramModule), canActivate: [AuthGuard, PermissionGuard], data: { routes: { name: 'Program', iconClass: 'fa fa-line-chart', requiredPolicy: 'Admin' } as ABP.Route, } }
@NgModule({ imports: [RouterModule.forRoot(routes)], exports: [RouterModule], })
]
2)component code & app.component.ts
const newHomeRouteShowConfig: Partial<ABP.Route> = { invisible: false, requiredPolicy: 'Admin', order: 0 };
const newHomeRouteHideConfig: Partial<ABP.Route> = {
invisible: true,
requiredPolicy: 'Admin',
order: 0
};
if ((currentmodule === null) || (currentmodule === false)) {
this.routes.patch('Suppliers', newHomeRouteShowConfig);
this.routes.patch('Entities', newHomeRouteShowConfig);
this.routes.patch('Banks', newHomeRouteShowConfig);
this.routes.patch('Program', newHomeRouteHideConfig);
} else {
this.routes.patch('Suppliers', newHomeRouteHideConfig);
this.routes.patch('Entities', newHomeRouteHideConfig);
this.routes.patch('Banks', newHomeRouteHideConfig);
this.routes.patch('Program', newHomeRouteShowConfig);
}
We are looking for swagger definition of identity server API . Examples are given below. Can we generate swagger definition in ABP.io Identity Server Seperated approch ?
http://MyidentityServer/.well-known/openid-configuration "issuer":"http://MyidentityServer", "jwks_uri":"http://MyidentityServer/.well-known/openid-configuration/jwks", "authorization_endpoint":"http://MyidentityServer/connect/authorize", "token_endpoint":"http://MyidentityServer/connect/token", "userinfo_endpoint":"http://MyidentityServer/connect/userinfo", "end_session_endpoint":"http://MyidentityServer/connect/endsession", "check_session_iframe":"http://MyidentityServer/connect/checksession", "revocation_endpoint":"http://MyidentityServer/connect/revocation", "introspection_endpoint":"http://MyidentityServer/connect/introspect", "device_authorization_endpoint":"http://MyidentityServer/connect/deviceauthorization",
After enabling https for identity server still discovery shows http. we are using cloudfront --> nlb --> ECS
Also, try given solution on this but didnt worked
var forwardOptions = new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto, RequireHeaderSymmetry = false };
forwardOptions.KnownNetworks.Clear(); forwardOptions.KnownProxies.Clear();
// ref: https://github.com/aspnet/Docs/issues/2384 app.UseForwardedHeaders(forwardOptions);
https://github.com/IdentityServer/IdentityServer4/issues/1331
It worked but facing differet issue now. We have multiple identity-service instances are running in 2 servers and we are load balancing it behind NLB. The issue is the 1st request goes to Identity server1 and if the second goes server2, it fails saying 401-unauthorized because the server 1 could not able to share the token with server2. we are not using Radis cache and Key. What I have to do to make load balancing working here ? Is anything can be done for shared resources between two Identity server instance?
Tried this in Host Api >> HttpApiHostModule but dint worked. I am able to login in two browser with same user.
Where and how do i set the token expiration time in ABP.io Identity server. currently it shows below in /connect/token? API "expires_in": 31536000, "token_type": "Bearer",
Also, give sample code to do revoke token in ABP.io Identity server.
What about 3rd point . 3. Currently, JSON web token (JWT) is not encrypted and can revealed the email (username) and expiration date of the token. how to encrypt it or is there any configuration settings in ABP.
Also, didnt get clear idea on below how implement session timeout and restrict multiple user login for Angular UI. could you please elaborate on this
https://support.abp.io/QA/Questions/536/How-to-Restrict-users-multiple-login-session