Activities of "trannguyenphucanh"

  • ABP Framework version: v5.3.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Hi, I would like to know if there's a way to redirect user to the login page after 30 minutes of inactivity. Below is the configuration suggested from older topics that I've implemented for HostModule:

.AddCookie("Cookies", options =>
{
    options.ExpireTimeSpan = TimeSpan.FromSeconds(1800);
    options.SlidingExpiration = true;
});
context.Services.ConfigureApplicationCookie(options =>
{
    options.Cookie.SameSite = SameSiteMode.Unspecified;
});

And IdentityServerDataSeedContributor:

ClientName = name,
ProtocolType = "oidc",
Description = name,
AlwaysIncludeUserClaimsInIdToken = true,
AllowOfflineAccess = true,
AbsoluteRefreshTokenLifetime = 1800, //30 minutes
AccessTokenLifetime = 1800, //30 minutes
SlidingRefreshTokenLifetime = 300,
AuthorizationCodeLifetime = 300,
IdentityTokenLifetime = 300,
RequireConsent = false,
FrontChannelLogoutUri = frontChannelLogoutUri,
RequireClientSecret = requireClientSecret,
RequirePkce = requirePkce

The above configuration didn't make the site logout, even if I closed the browser or left it inactive.

When I add the code as below, the site does log-out after the token expired, but it doesn't solve the problem as while user is browsing, it still redirects to the login page no matter what.

context.Services.ConfigureApplicationCookie(options =>
    {
        options.Cookie.SameSite = SameSiteMode.Unspecified;
        options.ExpireTimeSpan = TimeSpan.FromSeconds(1800);
        options.SlidingExpiration = true;
    });
context.Services.Configure<SecurityStampValidatorOptions>(options => options.ValidationInterval = TimeSpan.FromSeconds(1800));

Could you take a look at it?

Hi maliming,

I've changed SecurityStampValidatorOptions as you suggestion as well as set IdentityServerDataSeedContributor to default as below:

                        ClientName = name,
                        ProtocolType = "oidc",
                        Description = name,
                        AlwaysIncludeUserClaimsInIdToken = true,
                        AllowOfflineAccess = true,
                        AbsoluteRefreshTokenLifetime = 31536000, //365 days
                        AccessTokenLifetime = 31536000, //365 days
                        AuthorizationCodeLifetime = 300,
                        IdentityTokenLifetime = 300,
                        RequireConsent = false,
                        FrontChannelLogoutUri = frontChannelLogoutUri,
                        RequireClientSecret = requireClientSecret,
                        RequirePkce = requirePkce,
                        AccessTokenType = (int) AccessTokenType.Reference

Unfortunately, nothing happened.

I read the article you suggested, it's OK but still doesn't really help as SecurityStampValidatorOptions and ExpireTimeSpan are only able to re-issue when a request is made after halfway through the interval. What if the last request is made before of that?

I also did some research about token here, but it seems to be not applicable in my case. So until now, it's all about trial and error.

As I tested, the only 2 properties that actually affect to token's expiration are AccessTokenLifetime and AbsoluteRefreshTokenLifetime. Here are the steps:

  1. Set options.ExpireTimeSpan = TimeSpan.FromSeconds(10); to make sure the page will log-out after refresh token expires.
  2. Set AccessTokenLifetime and AbsoluteRefreshTokenLifetime = 60s.
  3. First, the access token will be issued when user logged-in with expires_in = 60.
  4. After that, the refresh token is issued with the same expiration time. Then 60s later, the site automatically redirects to login page, regardless of whether the user is inactivity or not.
  • ABP Framework version: v5.3.3
  • UI type: Angular
  • DB provider: EF Core
  • Tiered (MVC) or Identity Server Separated (Angular): yes
  • Exception message and stack trace:
  • Steps to reproduce the issue:"

Hi Support Team,

I've encountered this bug: The previously checked organization units for all user are appeared unchecked on production, develop and QA site. But it doesn't happen on local environment though.

There's a small inconsistency on the UI display between the local environment & other sites as well. Below are the screenshots from local and production site, both use the same branch & database.

Hope to hearing from you guys soon.

Thanks.

Hi, is there any update? Please look at it, this is very urgent.

There's nothing wrong with the data/API, only the UI is getting this error. But since I can't access the component as it belongs to the framework core, I'm not able to figure out what caused it.

Hello,

I am able to reproduce the error. The bug is related to version 5.3.5. Can you add the following lines to your package.json?

  "resolutions": { 
    "@abp/ng.components": "5.3.4", 
    "@abp/ng.core": "5.3.4", 
    "@abp/ng.setting-management": "5.3.4", 
    "@abp/ng.theme.lepton-x": "1.0.0-beta.3", 
    "@abp/ng.theme.shared": "5.3.4", 
    "@volo/abp.commercial.ng.ui": "5.3.4", 
    "@volo/abp.ng.account": "5.3.4", 
    "@volo/abp.ng.audit-logging": "5.3.4", 
    "@volo/abp.ng.gdpr": "5.3.4", 
    "@volo/abp.ng.identity": "5.3.4", 
    "@volo/abp.ng.identity-server": "5.3.4", 
    "@volo/abp.ng.language-management": "5.3.4", 
    "@volo/abp.ng.saas": "5.3.4", 
    "@volo/abp.ng.text-template-management": "5.3.4", 
    "@volo/abp.ng.theme.lepton": "5.3.4" 
  } 

Hi muhammedaltug, thank you for your supporting. But it doesn't work as I added the code and deployed it to the develop environment.

Am I missing something?

Hello,

Can you try after removing yarn.lock file and node_modules folder and installing packages with the yarn command?

You can check the installed package version with yarn why @abp/ng.components

I removed yarn.lock, package-lock.json files and node_modules folder, then install with npm install --save --legacy-peer-deps command as npm install encountered unable to resolve dependency tree error.

Now the local environment gets the same error likes the others.

Edit: The package-lock.json is re-installed with many v5.3.5 packages, but the yarn.lock file didn't get re-installed.

Hello,

resolutions key is yarn specific key. Can you try with yarn install?

Hi, I tried yarn install but nothing changed. I also get these warnings:

What is the result of yarn why @abp/ng.components?

The remainder of warning part is the same as previous screenshot.

Can you send your package.json ? https://drive.google.com/file/d/1BcqXOAeBxPdKhjVqB_Gv9eOAXiQkucBE/view?usp=share_link

Perfect! QA's package is a bit different but I still managed to make it work. Thank you so much.

Showing 1 to 10 of 58 entries
Made with ❤️ on ABP v8.2.0-preview Updated on March 25, 2024, 15:11