Hi, I have installed v5.12.0 and trying to make OIDC login to work. The first hitch was that SOGo requires the end_session_endpoint key present in the openid-configuration. That has been solved. After that without user source configured it is telling on boot: Apr 08 01:25:16 sogod [9]: [WARN] <0x0x7f7790e3c180[WOxElemBuilder]> could not locate builders: WOxExtElemBuilder,WOxExtElemBuilder Apr 08 01:25:16 sogod [9]: [ERROR] <0x0x5558161cd7e0[SOGoUserManager]> No authentication sources defined - nobody will be able to login. Check your defaults.
I am not sure if this has any effect, I can make it go away by specifying a user source. Given these configurations: SOGoAuthenticationType = "openid"; SOGoOpenIdConfigUrl = "https://[MYOIDCURL]/.well-known/openid-configuration"; SOGoOpenIdClient = "sogo"; SOGoOpenIdClientSecret = "sogo"; SOGoOpenIdScope = "openid offline_access"; SOGoOpenIdEmailParam = "email"; SOGoOpenIdEnableRefreshToken = YES; SOGoOpenIdTokenCheckInterval = 300; SOGoOpenIdLogoutEnabled = NO; I am getting into an endless loop on the oauth provider login, even though seemingly the user and its email has been fetched correctly from the userinfo endpoint: Apr 08 02:03:11 sogod [7]: |SOGo| starting method 'GET' on uri '/SOGo' Apr 08 02:03:11 sogod [7]: <0x0x5555de4e2c80[SOGoCache]> Cache cleanup interval set every 300.000000 seconds Apr 08 02:03:11 sogod [7]: <0x0x5555de4e2c80[SOGoCache]> Using host(s) 'memcached' as server(s) Apr 08 02:03:11 sogod [7]: [WARN] <0x0x7fa5e0cdb180[WOxElemBuilder]> could not locate builders: WOxExtElemBuilder,WOxExtElemBuilder 2025-04-08 02:03:11.795 sogod[7:7] PG0x0x5555de66fa50 SQL: SELECT c_defaults FROM sogo_user_profile WHERE c_uid = 'anonymous' 2025-04-08 02:03:11.940 sogod[7:7] PG0x0x5555de66fa50 SQL: select character_octet_length as CHARACTER_MAXIMUM_LENGTH from information_schema.columns where table_name = 'sogo_user_profile' AND column_name = 'c_defaults' 2025-04-08 02:03:12.277 sogod[7:7] OpenId perform request: GET https://[MYOIDCURL]/.well-known/openid-configuration 2025-04-08 02:03:12.277 sogod[7:7] OpenId perform request, headers (null) Apr 08 02:03:12 sogod [7]: |SOGo| request took 0.987919 seconds to execute Apr 08 02:03:12 sogod [7]: [MYOIDCURL] "GET /SOGo HTTP/1.1" 302 0/0 1.018 - - 4M - 11 Apr 08 02:03:25 sogod [7]: |SOGo| starting method 'GET' on uri '/SOGo/? code=[CODE_RETURNED]' 2025-04-08 02:03:25.084 sogod[7:7] OpenId perform request: POST https://[MYOIDCURL]/auth/token 2025-04-08 02:03:25.084 sogod[7:7] OpenId perform request, headers {"content- type" = "application/x-www-form-urlencoded"; } 2025-04-08 02:03:25.162 sogod[7:7] fetch token response: {"access_token" = "[ACCESS_TOKEN]"; "expires_in" = 3600; "id_token" = "[ID_TOKEN]"; "refresh_token" = "[REFRESH_TOKEN]"; "token_type" = bearer; } 2025-04-08 02:03:25.162 sogod[7:7] OpenId perform request: GET https://[MYOIDCURL]/auth/userinfo 2025-04-08 02:03:25.162 sogod[7:7] OpenId perform request, headers {authorization = "Bearer [ACCESS_TOKEN]"; "content-type" = "application/x-www- form-urlencoded"; } >>>> 2025-04-08 02:03:25.199 sogod[7:7] OpenId fetch user info, profile is {email = "test@[MAIL_DOMAIN]"; "email_verified" = 1; name = "Test"; "preferred_username" = "[DOMAIN]_test"; sub = 59; } >>>> 2025-04-08 02:03:25.370 sogod[7:7] PG0x0x5555de821250 SQL: BEGIN TRANSACTION 2025-04-08 02:03:25.371 sogod[7:7] PG0x0x5555de821250 SQL: SELECT t1.c_access_token_expires_in, t1.c_old_session, t1.c_refresh_token, t1.c_refresh_token_expires_in, t1.c_session_started, t1.c_user_session FROM sogo_openid t1 WHERE t1.c_user_session='[ACCESS_TOKEN]' 2025-04-08 02:03:25.385 sogod[7:7] PG0x0x5555de821250 SQL: ROLLBACK TRANSACTION 2025-04-08 02:03:25.386 sogod[7:7] PG0x0x5555de81e850 SQL: BEGIN TRANSACTION 2025-04-08 02:03:25.386 sogod[7:7] PG0x0x5555de81e850 SQL: INSERT INTO sogo_openid (c_access_token_expires_in, c_refresh_token, c_session_started, c_old_session, c_refresh_token_expires_in, c_user_session) VALUES (1744070605, '[REFRESH_TOKEN]', 1744067005, '', -1, '[ACCESS_TOKEN]') 2025-04-08 02:03:25.386 sogod[7:7] PG0x0x5555de81e850 SQL: COMMIT TRANSACTION 2025-04-08 02:03:25.506 sogod[7:7] PG0x0x5555de830bd0 SQL: BEGIN TRANSACTION 2025-04-08 02:03:25.506 sogod[7:7] PG0x0x5555de830bd0 SQL: SELECT t1.c_creationdate, t1.c_id, t1.c_lastseen, t1.c_value FROM sogo_sessions_folder t1 WHERE t1.c_id='wOGO5YkbvWaXv3xE' 2025-04-08 02:03:25.520 sogod[7:7] PG0x0x5555de830bd0 SQL: ROLLBACK TRANSACTION 2025-04-08 02:03:25.520 sogod[7:7] PG0x0x5555de81c6a0 SQL: BEGIN TRANSACTION 2025-04-08 02:03:25.520 sogod[7:7] PG0x0x5555de81c6a0 SQL: INSERT INTO sogo_sessions_folder (c_lastseen, c_creationdate, c_value, c_id) VALUES (1744067005, 1744067005, '[LONG_STRING]', 'wOGO5YkbvWaXv3xE') 2025-04-08 02:03:25.537 sogod[7:7] PG0x0x5555de81c6a0 SQL: COMMIT TRANSACTION Apr 08 02:03:25 sogod [7]: |SOGo| request took 0.485499 seconds to execute Apr 08 02:03:25 sogod [7]: [MYOIDCURL] "GET /SOGo/?code=[CODE_RETURNED] HTTP/ 1.1" 302 0/0 0.490 - - 1M - 13 Apr 08 02:03:25 sogod [7]: |SOGo| starting method 'GET' on uri '/SOGo' Apr 08 02:03:25 sogod [7]: |SOGo| request took 0.000552 seconds to execute Apr 08 02:03:25 sogod [7]: [MYOIDCURL] "GET /SOGo HTTP/1.1" 302 0/0 0.001 - - 0 - 13 Can someone spot what am I missing to let me login? The browser shows a properly set 0xHIGHFLYxSOGO and openid-location cookies. I am making it for sure to this line: https://github.com/Alinto/sogo/blob/4be3ba227c8f5c30bce2150d183705df6ff693c8/SoObjects/SOGo/SOGoOpenIdSession.m#L678 Thank you Levi
