This post was automatically translated from Japanese. I apologize if any wording sounds unnatural.
I am implementing user access management in OutSystems Developer Cloud (ODC).
My requirements are as follows:
I have confirmed that both user activation and End-User Group assignment can be performed using the User and Access Management API.
However, I am encountering an issue in ODC:
Both actions seem to require several minutes before they become effective.
As a result, when I perform the following sequence:
the application launch sometimes fails because the new permissions have not yet been propagated.
Has anyone implemented a similar requirement?
I would appreciate any advice regarding:
【日本語】OutSystems Developer Cloud (ODC) でユーザ権限管理を実装しています。
やりたいことは以下です。
実装としては User and Access Management API を利用し、ユーザの Active 化や End-User Group への追加ができることは確認できています。
しかし、ODC環境では以下の問題に遭遇しています。
のどちらも、実際に有効になるまで数分程度のタイムラグがあります。
そのため、
を連続して実行すると、アプリ起動時点ではまだ権限が反映されておらず、アクセスエラーになってしまいます。
同様の要件を実装された方はいらっしゃいますでしょうか?
実際の運用例や設計上の工夫があれば教えていただきたいです。
また、ODCではこの反映遅延は仕様として考慮する前提なのでしょうか。権限付与直後に対象アプリを利用させたい場合のベストプラクティスがあればご教示ください。
よろしくお願いします。
You’re running into two different but related behaviors in ODC:
From what you describe, both “activation” and “group assignment” are eventually consistent in ODC and can take some minutes to propagate. This aligns with what’s known from the classic platform and with current ODC limitations regarding user management APIs. Secure your app with end-user roles
Below is how this typically works and what you can do.
On the classic platform, when you change end‑user roles or group membership via API, those changes are not applied to an already logged‑in user; roles are calculated on login and cached for the session. The user needs to log out and log back in for the new permissions to be used. Secure your app with end-user roles
ODC is a new product, but current documentation and community feedback indicate very similar behavior:
This explains why your “grant permissions → immediately launch app” flow sometimes fails: the launch is happening before ODC has finished updating the effective permissions for that user and/or before a fresh session uses them.
For activation/inactivation, ODC currently does not expose direct APIs in app logic; they exist at platform level (portal / internal APIs) and are not fully documented yet. Community feedback indicates:
So the behavior you are seeing (a delay of several minutes) is consistent with what others have reported and should be considered expected for now.
Your requirement:
To make this robust, you’ll need to separate “grant permissions” from “launch app” and introduce checks or delays.
Provision Phase (admin flow / API flow):
Wait / Verify Phase:
User.Active = True
Login Phase (new session):
This avoids launching the app while permissions are still propagating.
If provisioning is triggered by a logged‑in user:
Because roles are calculated at login, this ensures the new roles are effective. This is the same recommendation as on the classic platform. User Roles Updated via API Not Reflected During Active Session
For a smoother UX:
ProvisioningStatus = “Ready”
ProvisioningStatus != "Ready"
This makes the propagation delay explicit and controlled.
Based on current documentation and forum discussions:
So for your question:
Is this expected behavior in ODC? Yes, current behavior (delay + need for a new session) should be treated as expected.
Any pattern to handle “grant then immediately launch”? Use one of the patterns above:
Given your custom authorization table and the need to launch the app right after granting permissions:
Do not rely on immediate consistency.
Add a readiness check before launching the target app:
Prefer “login after provisioning” rather than “provision during active session”:
Document this behavior for operations/users:
If you share a bit more about how you’re launching the target application (e.g., link from another app, SSO portal, external link), I can suggest a more concrete flow tailored to that entry point while still respecting ODC’s current limitations.
I understand that, in ODC, the most realistic approach is to separate the permission provisioning process from the application launch process and wait until the permission changes have been fully propagated before allowing the user to access the application.
However, from a user experience perspective, I would like to avoid making users feel that they have to wait several minutes after access is granted.
Are there any best practices for supporting the requirement of "grant access and let the user start using the application immediately" while still relying on ODC's standard authorization model?
Also, are there any effective architectural or design patterns other than simply waiting for End-User Role and End-User Group changes to propagate?
If eliminating the propagation delay itself is not possible, I would be interested in understanding practical approaches that make the experience feel seamless from the user's perspective, as if access were available immediately after it is granted.
Suggested flow:
Hello Francisco,
Thank you for your reply.
This is very helpful.
We have also confirmed that user activation and End-User Group assignment in ODC may take several minutes before becoming effective, so I agree that it is important to design with this propagation delay in mind.
The idea of polling the API and showing a "Preparing your access" page is particularly interesting. We will discuss this approach with our customer and evaluate it as one of the possible solutions.
Thank you for sharing your experience and practical suggestions.
Best regards,Akinori Shimada