Description
Currently, oidc-spa automatically detects user activity based on native peripheral events (like mouse and keyboard actions) to manage the idle timeout.
However, there are common scenarios where a user is actively using the application without physical interaction for extended periods (5-10 minutes). The most prominent examples are:
- Video Conferences / Webinars: Users are actively engaged in a call but don't touch the mouse or keyboard.
- Media Playback: Users are watching embedded training videos or presentations.
In these cases, the library triggers a false-positive idle timeout and logs the user out mid-session. To make the idle tracking more flexible, it would be highly beneficial to have a way to manually tell the library that the user is still active.
Proposed Solution
Expose a method in the oidc instance API (for example, oidc.signalActivity()) that developers can call programmatically from their application logic (e.g., inside a WebRTC session or media player event loop).
When called, this method should reset the internal idle timeout timer exactly as a mouse movement or keypress currently does.
Thank you for this amazing library!
Description
Currently,
oidc-spaautomatically detects user activity based on native peripheral events (like mouse and keyboard actions) to manage the idle timeout.However, there are common scenarios where a user is actively using the application without physical interaction for extended periods (5-10 minutes). The most prominent examples are:
In these cases, the library triggers a false-positive idle timeout and logs the user out mid-session. To make the idle tracking more flexible, it would be highly beneficial to have a way to manually tell the library that the user is still active.
Proposed Solution
Expose a method in the
oidcinstance API (for example,oidc.signalActivity()) that developers can call programmatically from their application logic (e.g., inside a WebRTC session or media player event loop).When called, this method should reset the internal idle timeout timer exactly as a mouse movement or keypress currently does.
Thank you for this amazing library!