Skip to content

Commit 0f74093

Browse files
committed
fix compile issues
1 parent 402a2a2 commit 0f74093

5 files changed

Lines changed: 11 additions & 7 deletions

File tree

sticker-award/infra/aws/lib/api.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ export class Api extends Construct {
8686
MESSAGING_PROVIDER: "aws",
8787
CATALOGUE_BASE_URL: `https://${props.serviceProps.cloudfrontDistribution.distributionDomainName}`,
8888
USER_REGISTERED_QUEUE_URL: userRegisteredQueue.queueUrl,
89+
OAUTH_ISSUER: `https://${props.serviceProps.cloudfrontDistribution.distributionDomainName}`,
8990
...props.serviceProps.messagingConfiguration.asEnvironmentVariables(),
9091
},
9192
secrets: secrets,

sticker-award/internal/api/middleware/jwt.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func NewJWTValidator(cfg *config.AuthConfig) (*JWTValidator, error) {
4040
ctx, cancel := context.WithCancel(context.Background())
4141

4242
// Create JWKS keyfunc with background refresh
43-
jwks, err := keyfunc.NewDefaultCtx(ctx, []string{cfg.JWKSUrl})
43+
jwks, err := keyfunc.NewDefaultCtx(ctx, []string{cfg.JWKSUrl()})
4444
if err != nil {
4545
cancel()
4646
return nil, err

sticker-award/internal/config/config.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,15 @@ type Config struct {
3737

3838
// AuthConfig holds JWT authentication configuration
3939
type AuthConfig struct {
40-
JWKSUrl string `mapstructure:"jwks_url"`
4140
Issuer string `mapstructure:"issuer"`
4241
ClockSkew int `mapstructure:"clock_skew"`
4342
}
4443

44+
// JWKSUrl returns the JWKS URL derived from the issuer
45+
func (a *AuthConfig) JWKSUrl() string {
46+
return a.Issuer + "/.well-known/jwks"
47+
}
48+
4549
// ServerConfig holds HTTP server configuration
4650
type ServerConfig struct {
4751
Port string `mapstructure:"port"`
@@ -229,13 +233,11 @@ func setDefaults() {
229233
viper.SetDefault("logging.level", "info")
230234
viper.SetDefault("logging.format", "json")
231235

232-
// Auth defaults
233-
viper.SetDefault("auth.jwks_url", "http://user-management:8080/.well-known/jwks")
236+
// Auth defaults - JWKS URL is derived from issuer
234237
viper.SetDefault("auth.issuer", "http://user-management:8080")
235238
viper.SetDefault("auth.clock_skew", 30)
236239

237240
// Explicit env var bindings for auth config
238-
_ = viper.BindEnv("auth.jwks_url", "JWKS_URI")
239241
_ = viper.BindEnv("auth.issuer", "OAUTH_ISSUER")
240242
}
241243

sticker-catalogue/infra/aws/lib/api.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ export class Api extends Construct {
7777
QUARKUS_DATASOURCE_JDBC_ACQUISITION_TIMEOUT: "30S",
7878
QUARKUS_S3_PATH_STYLE_ACCESS: "true",
7979
STICKER_IMAGES_BUCKET: props.stickerImagesBucket.bucketName,
80+
OAUTH_ISSUER: `https://${props.serviceProps.cloudfrontDistribution.distributionDomainName}`,
8081
...props.serviceProps.messagingProps.asEnvironmentVariables(),
8182
},
8283
secrets: secrets,

sticker-catalogue/src/main/resources/application.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ MESSAGING_PROVIDER=kafka
3232
quarkus.eventbridge.aws.region=${AWS_REGION:us-east-1}
3333
quarkus.eventbridge.aws.credentials.type=default
3434

35-
# JWT Configuration
35+
# JWT Configuration - JWKS URL derived from issuer
3636
mp.jwt.verify.issuer=${OAUTH_ISSUER:http://user-management:8080}
37-
mp.jwt.verify.publickey.location=${JWKS_URI:http://user-management:8080/.well-known/jwks}
37+
mp.jwt.verify.publickey.location=${OAUTH_ISSUER:http://user-management:8080}/.well-known/jwks
3838
smallrye.jwt.clock.skew=30
3939

4040
# Dev profile JWT overrides

0 commit comments

Comments
 (0)