diff options
author | Damien Caliste <[email protected]> | 2025-07-08 09:40:02 +0200 |
---|---|---|
committer | Damien Caliste <[email protected]> | 2025-08-04 08:54:25 +0200 |
commit | 6f47740aa54e4189303efe8232fb63949799f7c5 (patch) | |
tree | d8d381a4f004d615a130a3a8823874881fc5652a /src/plugins/credentials/sso/ssomanager.h | |
parent | a51e8f047db78bded1e7aa91223eb59ba1350d1c (diff) |
In case SSO is too long to respond, this
timeout avoids to stay indefinetely in the
fetching state.
It also allows to re-initialize the session
process. Without it, it's not possible to
restart credential fetching, getting errors
when calling process() like:
SSO error 305: AuthSession(password) is busy
Change-Id: Ia2bbffbdb1510780a6db33a2b55450d69c9fc882
Reviewed-by: Pekka Vuorela <[email protected]>
Diffstat (limited to 'src/plugins/credentials/sso/ssomanager.h')
-rw-r--r-- | src/plugins/credentials/sso/ssomanager.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/credentials/sso/ssomanager.h b/src/plugins/credentials/sso/ssomanager.h index 8e1a77d4..d0e4c3d5 100644 --- a/src/plugins/credentials/sso/ssomanager.h +++ b/src/plugins/credentials/sso/ssomanager.h @@ -44,6 +44,7 @@ #include <qmailcredentials.h> +#include <QTimer> #include <SignOn/Identity> #include <SignOn/SessionData> @@ -71,6 +72,9 @@ private: const QVariantMap ¶meters); void onResponse(const SignOn::SessionData &sessionData); void onError(const SignOn::Error &code); + void onStateChanged(SignOn::AuthSession::AuthSessionState state, + const QString &message); + void onSessionTimeout(); uint m_credentialIds = 0; SignOn::Identity *m_identity = nullptr; @@ -79,6 +83,7 @@ private: Status m_status = Invalid; QString m_errorMessage; QString m_username; + QTimer m_timeout; }; #endif |