Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
6ea2471
feat(scim): add SCIM Users, Groups, and admin endpoints
xlgmokha Oct 6, 2026
dcc421b
fix(scim): match caseExact attributes like externalId exactly in filters
xlgmokha Oct 7, 2026
5b6694b
chore(scim): remove unused helpers and add SCIM test helpers
xlgmokha Oct 7, 2026
4fb43d4
chore(scim): inline single-use helpers and reuse existing ones
xlgmokha Oct 7, 2026
686bad2
chore(scim): cover tenant isolation for every SCIM route
xlgmokha Oct 7, 2026
aa044a6
chore(scim): return clauses from the filter evaluator
xlgmokha Oct 7, 2026
df6f13d
chore(scim): merge ref into query
xlgmokha Oct 7, 2026
762fb5d
chore(scim): drop impossible token error and reuse active token clause
xlgmokha Oct 7, 2026
fd9a41b
chore(scim): drop unused scim_resources indexes
xlgmokha Oct 7, 2026
36ff4f4
chore(scim): bump to scim-go v0.13.0
xlgmokha Oct 7, 2026
29e3098
fix(scim): limit group nesting to 8 levels
xlgmokha Oct 7, 2026
05ecabe
fix(scim): skip the count query when the page is not full
xlgmokha Oct 8, 2026
a9e7365
fix(scim): return tooMany when a list query runs longer than 5s
xlgmokha Oct 8, 2026
b8f95b5
fix(scim): walk group members with a nested loop
xlgmokha Oct 8, 2026
f4c5e29
fix(scim): diff member ids without loading member types
xlgmokha Oct 8, 2026
5109715
fix(scim): skip excluded references when reading one resource
xlgmokha Oct 8, 2026
4610b2a
fix(scim): cover resource type in an index for member loads
xlgmokha Oct 8, 2026
2f2b606
chore(scim): use the standard library uuid package
xlgmokha Oct 8, 2026
8a49b05
fix(scim): order resources by v7 id
xlgmokha Oct 8, 2026
4e6ea94
fix(scim): scope the depth walk to the provider
xlgmokha Oct 8, 2026
27cd9ee
fix(scim): cap the ancestor walk at the max depth
xlgmokha Oct 8, 2026
74cbf25
fix(scim): sort meta.created by v7 id
xlgmokha Oct 8, 2026
c031999
chore(scim): delete references in one statement
xlgmokha Oct 8, 2026
14e64b2
chore(scim): share the group chain builder in tests
xlgmokha Oct 8, 2026
7afcc40
fix(scim): reuse the loaded ancestors for the depth check
xlgmokha Oct 8, 2026
a580076
fix(scim): cap the groups filter walk at the max depth
xlgmokha Oct 8, 2026
3addfd5
chore(scim): detect uniqueness with the shared postgres error helper
xlgmokha Oct 8, 2026
e0a4b21
chore(scim): share the SCIM token finder query
xlgmokha Oct 8, 2026
cb08eff
fix(scim): sort multi-valued attributes by the primary value
xlgmokha Oct 8, 2026
e0d1170
fix(scim): sort case exact attributes case sensitively
xlgmokha Oct 8, 2026
14722d6
fix(scim): filter and sort by meta location, resourceType and version
xlgmokha Oct 8, 2026
427061a
fix(scim): serve userName sw from the userName index
xlgmokha Oct 8, 2026
e2c9f9f
fix(scim): limit nesting by the longest ancestor path and reject unfi…
xlgmokha Oct 8, 2026
394703b
fix(scim): return the random source error when generating a token
xlgmokha Oct 8, 2026
4162307
fix(scim): serve userName and externalId eq from their unique indexes
xlgmokha Oct 8, 2026
b7db08e
chore(scim): bump to scim-go v0.14.0
xlgmokha Oct 8, 2026
2bb384a
fix(scim): walk only group links to find group members
xlgmokha Oct 8, 2026
6877a34
fix(scim): parenthesize the collated column before IS NOT NULL for Mu…
xlgmokha Oct 8, 2026
a8d52a8
fix(scim): check existence without loading members on a lost write
xlgmokha Oct 8, 2026
90baaf2
fix(scim): read member types from references without joining resources
xlgmokha Oct 8, 2026
9ce2ec0
fix(scim): load resources with their references in one statement
xlgmokha Oct 9, 2026
9c07d3d
chore: bump Go to 1.27.2 and golang.org/x deps for govulncheck
xlgmokha Oct 9, 2026
df89f49
fix(scim): bound list queries with a context deadline
xlgmokha Oct 9, 2026
a45ae92
chore(scim): pin filter SQL with a golden test
xlgmokha Oct 9, 2026
82e663c
chore(scim): render filter clauses eagerly
xlgmokha Oct 9, 2026
dbe34b4
chore: bump golang.org/x/tools so staticcheck reads Go 1.27.2 export …
xlgmokha Oct 9, 2026
e694346
chore(scim): pin the value path guard for case-exact sub-attributes
xlgmokha Oct 9, 2026
7b99ff5
chore: bump scim-go to v0.15.0
xlgmokha Oct 9, 2026
4c57a8d
chore(scim): show connection and parse errors in the demo script
xlgmokha Oct 9, 2026
d86a83c
fix(scim): reload only the response attributes after a write
xlgmokha Oct 9, 2026
eb2e15c
chore(scim): pause between demo steps when PAUSE is set
xlgmokha Oct 9, 2026
f5346f6
fix(scim): match unassigned attributes with ne and null
xlgmokha Oct 9, 2026
a9136fd
fix(scim): bind list page limit and offset as query params
xlgmokha Oct 9, 2026
b9a3bc3
fix(scim): treat a negative meta.version as matching nothing
xlgmokha Oct 9, 2026
ca6982d
fix(scim): match every resource with meta pr
xlgmokha Oct 9, 2026
c1c5e56
chore(scim): share the repository test setup
xlgmokha Oct 9, 2026
2682cae
fix(scim): fold filter case in Postgres instead of Go
xlgmokha Oct 9, 2026
c0dfa1f
chore(scim): share create and id list helpers in tests
xlgmokha Oct 9, 2026
654a044
chore(scim): drop SCIMScope.Find and shorten repository write tails
xlgmokha Oct 9, 2026
2649651
chore(scim): inline single-use clause helpers and the references tabl…
xlgmokha Oct 9, 2026
48b57b9
chore(scim): render each filter comparison once
xlgmokha Oct 9, 2026
3999063
fix(scim): match nothing for null with operators other than eq and ne
xlgmokha Oct 9, 2026
857796f
fix(scim): serve group displayName eq and sw from the display name index
xlgmokha Oct 9, 2026
5777176
chore(scim): cover phone type and primary email filters
xlgmokha Oct 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM golang:1.27.0-alpine3.23 as build
FROM golang:1.27.2-alpine3.23 as build
ENV GO111MODULE=on
ENV CGO_ENABLED=0
ENV GOOS=linux
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile.dev
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM golang:1.27.0-alpine3.23
FROM golang:1.27.2-alpine3.23
ENV GO111MODULE=on
ENV CGO_ENABLED=0
ENV GOOS=linux
Expand Down
51 changes: 25 additions & 26 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,14 @@ require (
github.com/consensys/gnark-crypto v0.18.1 // indirect
github.com/crate-crypto/go-eth-kzg v1.4.0 // indirect
github.com/crewjam/httperr v0.2.0 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect
github.com/dprotaso/go-yit v0.0.0-20220510233725-9ba8df137936 // indirect
github.com/ethereum/c-kzg-4844/v2 v2.1.5 // indirect
github.com/fatih/color v1.16.0 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/getkin/kin-openapi v0.149.0 // indirect
github.com/go-jose/go-jose/v4 v4.1.4 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/logr v1.4.4 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-openapi/jsonpointer v0.23.1 // indirect
github.com/go-openapi/swag/jsonname v0.26.0 // indirect
Expand Down Expand Up @@ -85,7 +84,6 @@ require (
github.com/onsi/gomega v1.27.6 // indirect
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
github.com/philhofer/fwd v1.2.0 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.48.0 // indirect
github.com/prometheus/procfs v0.12.0 // indirect
Expand All @@ -99,21 +97,21 @@ require (
github.com/speakeasy-api/jsonpath v0.6.3 // indirect
github.com/speakeasy-api/openapi v1.24.0 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/stretchr/objx v0.5.3 // indirect
github.com/supranational/blst v0.3.16-0.20250831170142-f48500c1fdbe // indirect
github.com/tinylib/msgp v1.6.4 // indirect
github.com/vmware-labs/yaml-jsonpath v0.3.2 // indirect
github.com/x448/float16 v0.8.4 // indirect
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
go.opentelemetry.io/proto/otlp v1.10.0 // indirect
go.yaml.in/yaml/v3 v3.0.4 // indirect
golang.org/x/mod v0.40.0 // indirect
golang.org/x/net v0.58.0 // indirect
go.opentelemetry.io/proto/otlp v1.11.0 // indirect
go.yaml.in/yaml/v3 v3.0.5 // indirect
golang.org/x/mod v0.41.0 // indirect
golang.org/x/net v0.60.0 // indirect
golang.org/x/tools v0.49.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20260803160001-6ac0973c030d // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260803160001-6ac0973c030d // indirect
google.golang.org/grpc v1.83.1 // indirect
google.golang.org/protobuf v1.36.11 // indirect
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
Expand Down Expand Up @@ -164,34 +162,35 @@ require (
github.com/sirupsen/logrus v1.9.3
github.com/spf13/cobra v1.8.1
github.com/standard-webhooks/standard-webhooks/libraries v0.0.0-20240303152453-e0e82adf1721
github.com/stretchr/testify v1.11.1
github.com/stretchr/testify v1.12.1
github.com/supabase-community/scim-go v0.15.0
github.com/supabase/hibp v0.0.0-20231124125943-d225752ae869
github.com/xeipuuv/gojsonschema v1.2.0
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.64.0
go.opentelemetry.io/contrib/instrumentation/runtime v0.45.0
go.opentelemetry.io/otel v1.44.0
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.44.0
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.44.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.44.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.44.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.44.0
go.opentelemetry.io/otel v1.45.0
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.45.0
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.45.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.45.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.45.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.45.0
go.opentelemetry.io/otel/exporters/prometheus v0.48.0
go.opentelemetry.io/otel/metric v1.44.0
go.opentelemetry.io/otel/sdk v1.44.0
go.opentelemetry.io/otel/sdk/metric v1.44.0
go.opentelemetry.io/otel/trace v1.44.0
golang.org/x/crypto v0.55.0
go.opentelemetry.io/otel/metric v1.45.0
go.opentelemetry.io/otel/sdk v1.45.0
go.opentelemetry.io/otel/sdk/metric v1.45.0
go.opentelemetry.io/otel/trace v1.45.0
golang.org/x/crypto v0.57.0
golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0
golang.org/x/oauth2 v0.36.0
golang.org/x/sync v0.22.0
golang.org/x/sys v0.47.0
golang.org/x/text v0.41.0
golang.org/x/sync v0.23.0
golang.org/x/sys v0.48.0
golang.org/x/text v0.42.0
golang.org/x/time v0.14.0
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
gopkg.in/h2non/gock.v1 v1.1.2
)

go 1.27.0
go 1.27.2

replace github.com/joho/godotenv => ./internal/forks/godotenv

Expand Down
Loading
Loading