hi
The suite is a GUI for generating code, and it currently does not support command-line usage.
Thank you.
Hi
Thanks, I will update the suite code.
You can test the module page. Eg identity user page
You need to call the handleDatepicker method before sending the Ajax request
See
When we submit the form, we need to convert the time to UTC. In the JavaScript of the Create and Editpages, we use the handleDatepickerthis jQuery extension method to handle time in the form, it internally gets the user's local time from the selector input[type="hidden"][data-hidden-datepicker], and then uses the abp.clock.normalizeToString method to convert the date field in the form to the ISO 8601 format UTC time string.
https://github.com/abpframework/abp/blob/dev/docs/en/Community-Articles/2025-03-11-Developing-A-Multi-Timezone-Application-Using-The-ABP-Framework/post.md
Don't mention it. :)
hi
I have refunded your ticket. I will do more NULL checks in the next patch version.
Thanks.
hi
What is your current Cookie and AccessToken lifetime(minutes)?
Can you test your case in a version 7.2.2 template project?
If you can reproduce, you can share it.
Thanks.
Thanks. Can you also set the SlidingExpiration to false
.AddCookie("Cookies", options =>
{
options.ExpireTimeSpan = TimeSpan.FromDays(365);
options.SlidingExpiration = false;
options.IntrospectAccessToken();
})
And set .MinimumLevel.Debug() in Program.cs
var loggerConfiguration = new LoggerConfiguration()
.MinimumLevel.Debug()
.MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning)
.Enrich.FromLogContext()
.WriteTo.Async(c => c.File("Logs/logs.txt"))
Thanks again.
hi
I will check this case.
Thanks.
Yes, Please share the new logs.
Thanks.
hi
JWT tokens cannot be revoked before they expire by default.
You can consider using ABP's session feature. Revoke a session will make the JWT invalid. https://abp.io/docs/latest/modules/identity/session-management
You can also create your own JWT authentication logic. Add revoked tokens to Redis, and after the API verifies the token, also check Redis.
context.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddAbpJwtBearer(options =>
{
options.Authority = configuration["AuthServer:Authority"];
options.RequireHttpsMetadata = configuration.GetValue<bool>("AuthServer:RequireHttpsMetadata");
options.Audience = "MyProjectName";
options.TokenHandlers.Clear();
options.TokenHandlers.Add(new MyJsonWebTokenHandler());
});
using System.Threading.Tasks;
using Microsoft.IdentityModel.JsonWebTokens;
using Microsoft.IdentityModel.Tokens;
namespace MyCompanyName.MyProjectName;
public class MyJsonWebTokenHandler : JsonWebTokenHandler
{
public override async Task<TokenValidationResult> ValidateTokenAsync(SecurityToken token, TokenValidationParameters validationParameters)
{
var result = await base.ValidateTokenAsync(token, validationParameters);
if (result.IsValid)
{
var rawToken = token.ToString();
// Custom logic after token validation
}
return result;
}
}
hi
but the token has not been invalidated.
Do you mean that you can still call the API using this JWT token?
Thanks.