Hello ABP.IO Support Team,
We are working with ABP.IO 8.3.1 in a microservices setup using:
We have WSL2 (Ubuntu) installed and are able to build container images for our services. However, we are facing issues running them properly with localhost access (e.g., API Gateway, IdentityServer, Angular UI).
Could you please guide us with:
Our main blocker right now is running the containers and accessing them on localhost through WSL2. We don't have Docker desktop for now.
Thanks in advance for your help!
Hi @fahrigedik,
Can you create a github repo and post your project there.
Hello Team,
Thanks for confirming that AuthService.login() only supports JWT-based flows.
However, our **main concern is not just login, but secure revocation of access tokens during logout or re-login. This is a critical requirement for us.
We’ve already raised another ticket related to this: How-to-Invalidate-Access-Token-on-Logout https://abp.io/support/questions/9531/How-to-Invalidate-Access-Token-on-Logout#answer-3a1abddd-345b-38e4-45e8-b809897a59ba
We’ve implemented token revocation correctly at the backend using OpenIddict.
But since we're using JWT tokens, the token is still considered valid on the resource server after revocation, because:
We need guidance on:
Looking forward to your input, as this is urgent and security-critical for us. Please let me know if can have a call so that can share the code.
Thanks
Current Behavior:
We were previously using AuthService.login() with JWT tokens, and everything worked fine.
Recently, we switched to using Reference Tokens (opaque tokens) on the backend to support real-time token revocation and higher security.
Backend now returns an access_token (reference token) and refresh_token via the /connect/token endpoint.
Exception message and full stack trace:
Steps to reproduce the issue:
Hi Team,
We have implemented access and refresh tokens in our application, and all standard validations are in place.
However, we’ve observed that even after logging out, the original access token obtained during login remains valid and can still be used for API calls until it naturally expires.
We would like to explicitly mark the access token as expired or revoked during logout to prevent any further usage. Could you please advise how we can achieve this within the ABP.IO and OpenIddict setup?
Looking forward to your guidance.
Hi @maliming,
Thanks for the clarification. We are using access token + refresh token flow to minimize the damage (If any case the JWT token is stolen).
Still, can you help with some examples of adding X-Session-Id, HttpOnly cookie in ABP.IO.
OR is there a way to bind token to specific device.
Hi @maliming
We have done security testing with some third party, and they have given this recommendation that in case access token can be spoofed or stolen then we must allow access token from valid user/device.
Please can you guide if implementing such case is possible or not.
We are currently implementing token binding in our Identity Server using OpenIddict within the ABP.IO framework (v8.3.0), and we want to securely associate each access token with a unique session identifier stored in a HttpOnly cookie.
Our goal is to:
What we tried so far:
context.Response.Cookies.Append("X-Session-Id", sessionId, new CookieOptions
{
HttpOnly = true,
Secure = true,
SameSite = SameSiteMode.None,
Path = "/",
Expires = DateTimeOffset.UtcNow.AddHours(8)
});
We are not sure if this approach is fully aligned with ABP.IO best practices, especially regarding:
Exception: As soon as any request includes cookies (due to withCredentials: true in Angular), our backend rejects the request — even if the cookies are unrelated to antiforgery.
Hi @maliming
No we don;t have this scope in our environement.ts file.
Thanks a lot @maliming
I will ensure that we are using common protective measures.
However, in our application tokens are short lived and this is impacting
Could you please provide guidance or share an example of how to implement access token + refresh token flow within ABP.IO (Angular + .NET Core backend)? Please note we had recently migrated from IdentityServer to OpenIddict.