Loading src/auth/AuthDBAdapter.cpp +10 −0 Changes for src/auth/AuthDBAdapter.cpp: 10 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -59,6 +59,16 @@ AuthResult AuthDBAdapter::authenticatePassword(const std::string &username, "authdb rejected username/password"}; } // SessionInfo (like GPOcheck/UserInfo) is gated server-side on a client-connection // session, separate from the user session UserAuth() just established -- same as // authenticateToken's path 1 above. Without this, SessionInfo silently gets no // response and throws "Session not found !", regardless of how the login itself went. if (!bindServiceConnectionToSession(con, clt, _serviceClientName, _serviceClientSecret, "")) { return AuthResult{AuthOutcome::BackendUnavailable, std::nullopt, "service client auth failed"}; } Session session; session.sessionId = con.getSessionID().c_str(); session.createdAt = std::chrono::system_clock::now(); Loading Loading
src/auth/AuthDBAdapter.cpp +10 −0 Changes for src/auth/AuthDBAdapter.cpp: 10 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -59,6 +59,16 @@ AuthResult AuthDBAdapter::authenticatePassword(const std::string &username, "authdb rejected username/password"}; } // SessionInfo (like GPOcheck/UserInfo) is gated server-side on a client-connection // session, separate from the user session UserAuth() just established -- same as // authenticateToken's path 1 above. Without this, SessionInfo silently gets no // response and throws "Session not found !", regardless of how the login itself went. if (!bindServiceConnectionToSession(con, clt, _serviceClientName, _serviceClientSecret, "")) { return AuthResult{AuthOutcome::BackendUnavailable, std::nullopt, "service client auth failed"}; } Session session; session.sessionId = con.getSessionID().c_str(); session.createdAt = std::chrono::system_clock::now(); Loading