- Ya
- 4 Septemba 2026, 04:59 UTC
- Mwandishi
- Kamo
- Ahadi ya
- 9c6f453
Connecting a personal Gmail or Outlook mailbox has been building its consent URL with client_id= empty, and every attempt was refused by the provider. The credentials used to live in **************** client-{id,secret}. When the platform registry shipped they moved into PLATFORM_OAUTH_CLIENTS and the *** secret was emptied — all six keys in it are blank strings today — but these four @Value reads were never migrated with the rest of the service. Nothing failed at boot, so the break only ever showed as a generic error on Google's own page. They now resolve through PlatformOAuthClientResolver like every other flow, which fixes the connect and, because the lookup is org-scoped, lets a personal mailbox connect through the organization's own application when it has one. An absent or empty registration now throws with a message naming what is missing and who can fix it. The controller already maps IllegalStateException to a 400 carrying the message, so the member reads it instead of a 500. The seeder keeps its @Value reads — migrating the old config into the registry is precisely its job.