Files
probo/pkg
Aurélien Sibiril 5340953966 feat(probo): validate reconnects and preserve dropped token fields
Reconnect now takes a ReconnectConnectorRequest carrying the expected
OrganizationID and Provider. It validates inside the same transaction
that the loaded connector belongs to the requested org, provider and
OAUTH2 protocol before mutating the row. This blocks cross-org and
cross-provider corruption via a crafted connector_id reaching the
OAuth callback through the HMAC-signed state token.

preserveConnectionFields copies fields from the existing connection
onto the new one when the new one omits them:

- OAuth2 refresh_token: Google drops it on incremental-auth reuse
  when prompt=consent is skipped.
- Slack webhook URL, channel and channel ID: access review Slack
  reconnects without the incoming-webhook scope return a token
  response with no incoming_webhook field.

GetByOrganizationIDAndProvider now routes through the widest-scope
coredata loader, and GetWithConnection exposes a by-ID load that
returns the fully decrypted connector so the initiate handler can
read the stored scope set.

Signed-off-by: Aurélien Sibiril <81782+aureliensibiril@users.noreply.github.com>
2026-04-13 19:24:46 +02:00
..
2026-04-03 11:56:06 +02:00
2026-04-02 14:37:29 +02:00
2026-04-13 14:22:50 +02:00
2026-04-13 12:25:42 +02:00
2026-04-03 11:56:06 +02:00
2026-03-31 19:16:56 +04:00
2026-04-13 12:25:42 +02:00
2026-04-13 12:25:42 +02:00
2026-04-02 14:37:29 +02:00
2026-04-03 11:56:06 +02:00
2026-04-09 18:18:30 +02:00