- Added FirebaseAuth struct and TokenVerifier interface for verifying Firebase ID tokens. - Introduced FirebaseConfig struct in config to manage Firebase credentials and project ID. - Implemented OAuth handler for Firebase ID token verification in HTTP handlers. - Added middleware for authenticating requests using Firebase tokens. - Updated router to conditionally apply authentication based on configuration. - Created tests for the new authentication middleware. - Added request and response types for Firebase OAuth handling. - Included a sample JSON file for testing purposes.
111 lines
5.3 KiB
Modula-2
111 lines
5.3 KiB
Modula-2
module watch-party-backend
|
|
|
|
go 1.25.1
|
|
|
|
require (
|
|
firebase.google.com/go/v4 v4.18.0
|
|
github.com/gin-gonic/gin v1.11.0
|
|
github.com/jackc/pgx/v5 v5.7.6
|
|
github.com/joho/godotenv v1.5.1
|
|
github.com/swaggo/files v1.0.1
|
|
github.com/swaggo/gin-swagger v1.6.1
|
|
github.com/swaggo/swag v1.16.6
|
|
google.golang.org/api v0.257.0
|
|
)
|
|
|
|
require (
|
|
cel.dev/expr v0.24.0 // indirect
|
|
cloud.google.com/go v0.121.0 // indirect
|
|
cloud.google.com/go/auth v0.17.0 // indirect
|
|
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
|
|
cloud.google.com/go/compute/metadata v0.9.0 // indirect
|
|
cloud.google.com/go/firestore v1.18.0 // indirect
|
|
cloud.google.com/go/iam v1.5.2 // indirect
|
|
cloud.google.com/go/longrunning v0.6.7 // indirect
|
|
cloud.google.com/go/monitoring v1.24.2 // indirect
|
|
cloud.google.com/go/storage v1.53.0 // indirect
|
|
github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0 // indirect
|
|
github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric v0.51.0 // indirect
|
|
github.com/GoogleCloudPlatform/opentelemetry-operations-go/internal/resourcemapping v0.51.0 // indirect
|
|
github.com/KyleBanks/depth v1.2.1 // indirect
|
|
github.com/MicahParks/keyfunc v1.9.0 // indirect
|
|
github.com/bytedance/gopkg v0.1.3 // indirect
|
|
github.com/bytedance/sonic v1.14.2 // indirect
|
|
github.com/bytedance/sonic/loader v0.4.0 // indirect
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
|
github.com/cloudwego/base64x v0.1.6 // indirect
|
|
github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f // indirect
|
|
github.com/envoyproxy/go-control-plane/envoy v1.35.0 // indirect
|
|
github.com/envoyproxy/protoc-gen-validate v1.2.1 // indirect
|
|
github.com/felixge/httpsnoop v1.0.4 // indirect
|
|
github.com/gabriel-vasile/mimetype v1.4.11 // indirect
|
|
github.com/gin-contrib/sse v1.1.0 // indirect
|
|
github.com/go-jose/go-jose/v4 v4.1.3 // indirect
|
|
github.com/go-logr/logr v1.4.3 // indirect
|
|
github.com/go-logr/stdr v1.2.2 // indirect
|
|
github.com/go-openapi/jsonpointer v0.22.3 // indirect
|
|
github.com/go-openapi/jsonreference v0.21.3 // indirect
|
|
github.com/go-openapi/spec v0.22.1 // indirect
|
|
github.com/go-openapi/swag/conv v0.25.3 // indirect
|
|
github.com/go-openapi/swag/jsonname v0.25.3 // indirect
|
|
github.com/go-openapi/swag/jsonutils v0.25.3 // indirect
|
|
github.com/go-openapi/swag/loading v0.25.3 // indirect
|
|
github.com/go-openapi/swag/stringutils v0.25.3 // indirect
|
|
github.com/go-openapi/swag/typeutils v0.25.3 // indirect
|
|
github.com/go-openapi/swag/yamlutils v0.25.3 // indirect
|
|
github.com/go-playground/locales v0.14.1 // indirect
|
|
github.com/go-playground/universal-translator v0.18.1 // indirect
|
|
github.com/go-playground/validator/v10 v10.28.0 // indirect
|
|
github.com/goccy/go-json v0.10.5 // indirect
|
|
github.com/goccy/go-yaml v1.18.0 // indirect
|
|
github.com/golang-jwt/jwt/v4 v4.5.2 // indirect
|
|
github.com/golang/protobuf v1.5.4 // indirect
|
|
github.com/google/s2a-go v0.1.9 // indirect
|
|
github.com/google/uuid v1.6.0 // indirect
|
|
github.com/googleapis/enterprise-certificate-proxy v0.3.7 // indirect
|
|
github.com/googleapis/gax-go/v2 v2.15.0 // indirect
|
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
|
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
|
|
github.com/jackc/puddle/v2 v2.2.2 // indirect
|
|
github.com/json-iterator/go v1.1.12 // indirect
|
|
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
|
|
github.com/leodido/go-urn v1.4.0 // indirect
|
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
|
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
|
|
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
|
|
github.com/quic-go/qpack v0.6.0 // indirect
|
|
github.com/quic-go/quic-go v0.57.0 // indirect
|
|
github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect
|
|
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
|
|
github.com/ugorji/go/codec v1.3.1 // indirect
|
|
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
|
|
go.opentelemetry.io/contrib/detectors/gcp v1.38.0 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.61.0 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect
|
|
go.opentelemetry.io/otel v1.38.0 // indirect
|
|
go.opentelemetry.io/otel/metric v1.38.0 // indirect
|
|
go.opentelemetry.io/otel/sdk v1.38.0 // indirect
|
|
go.opentelemetry.io/otel/sdk/metric v1.38.0 // indirect
|
|
go.opentelemetry.io/otel/trace v1.38.0 // indirect
|
|
go.uber.org/mock v0.6.0 // indirect
|
|
go.yaml.in/yaml/v3 v3.0.4 // indirect
|
|
golang.org/x/arch v0.23.0 // indirect
|
|
golang.org/x/crypto v0.45.0 // indirect
|
|
golang.org/x/mod v0.30.0 // indirect
|
|
golang.org/x/net v0.47.0 // indirect
|
|
golang.org/x/oauth2 v0.33.0 // indirect
|
|
golang.org/x/sync v0.18.0 // indirect
|
|
golang.org/x/sys v0.38.0 // indirect
|
|
golang.org/x/text v0.31.0 // indirect
|
|
golang.org/x/time v0.14.0 // indirect
|
|
golang.org/x/tools v0.39.0 // indirect
|
|
google.golang.org/appengine/v2 v2.0.6 // indirect
|
|
google.golang.org/genproto v0.0.0-20250603155806-513f23925822 // indirect
|
|
google.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8 // indirect
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20251124214823-79d6a2a48846 // indirect
|
|
google.golang.org/grpc v1.77.0 // indirect
|
|
google.golang.org/protobuf v1.36.10 // indirect
|
|
)
|