Commit Graph

121 Commits

Author SHA1 Message Date
Bryan Frimin
23084a72a2 Add OIDC login support for Google and Microsoft providers
Implements OpenID Connect authentication flow with PKCE, JWT verification, and enterprise-only account restrictions. Adds OIDC service with JWKS caching and state management, HTTP handlers for login/callback flows, GraphQL query for available providers, and sign-in UI integration.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-23 14:17:43 +01:00
Sacha Al Himdani
8ed6f1824f Fix unvalidated URL redirection in HTTP redirects
Use baseurl.Parse to construct the HTTPS redirect URL in the
trust center HTTP handler, breaking the taint chain from raw
request headers. Apply path.Clean to the slug-based redirect
in stripTrustPrefix to normalize path traversal sequences.

Addresses CodeQL go/unvalidated-url-redirection (CWE-601).

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-19 17:27:51 +01:00
Sacha Al Himdani
8b66a61990 Run go fix and go fmt
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-19 16:37:51 +01:00
Bryan Frimin
a5743729f7 Add file visibility (PRIVATE/PUBLIC) + public files API
Adds a visibility enum to files with PRIVATE (default) and PUBLIC states.
PUBLIC files are accessible via an unauthenticated /api/files/v1/{fileID}
endpoint that redirects to a presigned S3 URL. Introduces pkg/file service
to manage file operations. Logo uploads (trust centers, organizations,
frameworks, references) are marked PUBLIC; other files are PRIVATE.
Includes database migration and backfill for existing logos.

Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-18 19:19:04 +01:00
Sacha Al Himdani
16b966b8fb Fix multiline function call style violations
Expand mixed inline/multiline function calls so each argument
is on its own line, matching the one-argument-per-line rule.

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-17 15:59:26 +01:00
Bryan Frimin
7c77c217c7 Fix Anthropic requests failing due to missing MaxTokens in agent configuration
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-13 18:24:02 +01:00
Bryan Frimin
158c36d9ab Add LLM interface
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-13 17:21:43 +01:00
Sacha Al Himdani
85ec106cd6 Send mailing list emails
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-11 15:34:37 +01:00
Sacha Al Himdani
4d2cb793b6 Add compliance page mailing list base
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-03-11 15:34:36 +01:00
Émile Ré
355e6b81b8 Add an account activation step in the signing request flow when needed
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-11 17:08:42 +04:00
Émile Ré
87415c0324 Remove useless encryption key injections
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-11 14:42:37 +04:00
Bryan Frimin
4875a2bd5e Improve mailer performance
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-09 11:19:04 +01:00
Bryan Frimin
f33a1fe149 Remove useless comment
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-06 12:11:13 +01:00
Bryan Frimin
63bf983e59 Refactor entrypoint
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-03-06 12:11:12 +01:00
Émile Ré
c4b06ddc7d Add compliange page base URL in context and use it to validate redirect URLs
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-03-03 22:07:01 +04:00
Bryan Frimin
c191d25e9a Add electronic signature
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-23 09:38:27 +01:00
Sacha Al Himdani
c163ca9bf0 Add cache ttl
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-02-13 18:28:27 +01:00
Sacha Al Himdani
f9de9c4834 Add webhooks
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-02-13 18:28:25 +01:00
Émile Ré
03404e5d63 Activate pg debug via config
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-13 13:58:18 +04:00
Bryan Frimin
99f1da1560 Suppress noisy TLS log
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-09 10:08:34 +01:00
Émile Ré
e094dc847b Fix typo in function name + fix email render return values on error
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-05 12:56:23 +04:00
Émile Ré
c6da1c2cce Update error message
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-05 12:51:30 +04:00
Émile Ré
6189a8ed81 Generate presigned URL for email assets at render time
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-05 12:41:35 +04:00
Bryan Frimin
8e8288a361 Remove noisy tls error
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-05 08:48:32 +01:00
Émile Ré
27821632c6 Serve email static assets from object store
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-02-04 18:32:52 +04:00
Bryan Frimin
ece54f1616 Fix golint errors
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-02 18:42:50 +01:00
Bryan Frimin
13d19cea9d Fix undefined rejectProxyHeaderFrom func
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-02 11:01:49 +01:00
Bryan Frimin
86c0d6a94c Remove code who has been merged
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-02 10:54:07 +01:00
Bryan Frimin
3d4b215b8f Add bridge backend for sync
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-02 09:14:39 +01:00
Bryan Frimin
bc5bbdae81 Add scim bridge with connector
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-02-02 09:14:38 +01:00
Bryan Frimin
a3c3411a40 Update ignore tls pattern
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-01-21 09:38:21 -08:00
Émile Ré
6c7bcfb50a Get rid of old trust-auth config
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:36:47 -08:00
Émile Ré
5384e12ced Make magic link single use and reduce duration to 15min
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:35:45 -08:00
Émile Ré
7322201dab Plug trust center part 1
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-01-17 12:34:23 -08:00
Bryan Frimin
63abfe3698 Fix not token secret
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-01-17 10:35:52 -08:00
Bryan Frimin
e9ac50d91c Update RBAC on console
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-01-17 10:23:45 -08:00
Bryan Frimin
63349098fd Add saml domain verification
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-01-17 10:10:26 -08:00
Bryan Frimin
bac107a7df Start IAM service
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-01-17 10:10:25 -08:00
Bryan Frimin
74fc3b8cd1 Rewrite identity and access management
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-01-17 10:07:34 -08:00
Bryan Frimin
c60e19a7a8 Add more matches
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-01-16 08:04:40 -08:00
Bryan Frimin
603e54a9b7 Update match string
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-01-16 08:02:37 -08:00
Bryan Frimin
4eadd42001 Filter tls junk logs
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-01-16 07:57:38 -08:00
Bryan Frimin
874335ae17 Add proxy protocol support
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-01-15 15:17:22 -08:00
Sacha Al Himdani
d6abaec786 Fix azure storage
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2025-12-17 16:55:30 +01:00
Bryan Frimin
ca23e945b3 Fix go/cgo dns resolver behaviour
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-12-15 18:34:32 +01:00
manish-singh-bisht
8eeab0a6d0 feat:pull the slack message service out to slack pkg
Signed-off-by: manish-singh-bisht <mthefool218@gmail.com>
2025-12-11 18:42:26 +01:00
Bryan Frimin
0b13fb19e7 Remove experimental code
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-11-30 23:59:07 +01:00
Bryan Frimin
b93d2d8b0b Add e2e tests
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-11-30 17:29:58 +01:00
Bryan Frimin
c4e7fd41cd Fix missing https redirect for trust center
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2025-11-24 09:26:44 +01:00
MustafaAamir
60a3402b24 fix(certmanager#514): check DNS configuration before starting ACME
Signed-off-by: MustafaAamir <mustafa.290101@gmail.com>
2025-11-13 20:55:43 +01:00