@@ -407,49 +407,39 @@ func getYDBOauth2Credentials(
407
407
ctx ,
408
408
storage .Namespace ,
409
409
restConfig ,
410
- auth .Oauth2TokenExhange .PrivateKey .SecretKeyRef ,
410
+ auth .Oauth2TokenExchange .PrivateKey .SecretKeyRef ,
411
411
)
412
412
if err != nil {
413
413
return nil , fmt .Errorf (
414
414
"failed to get RSA private key for Oauth2TokenExchange from secret: %s, key: %s, error: %w" ,
415
- auth .Oauth2TokenExhange .PrivateKey .SecretKeyRef .Name ,
416
- auth .Oauth2TokenExhange .PrivateKey .SecretKeyRef .Key ,
415
+ auth .Oauth2TokenExchange .PrivateKey .SecretKeyRef .Name ,
416
+ auth .Oauth2TokenExchange .PrivateKey .SecretKeyRef .Key ,
417
417
err )
418
418
}
419
+
420
+ keyID := * auth .Oauth2TokenExchange .KeyID
421
+ signMethod := jwt .GetSigningMethod (auth .Oauth2TokenExchange .SignAlg )
419
422
privateKeyPEM , err := jwt .ParseRSAPrivateKeyFromPEM ([]byte (privateKey ))
420
423
if err != nil {
421
424
return nil , fmt .Errorf (
422
425
"failed to parse RSA private key for Oauth2TokenExchange from secret: %s, key: %s, error: %w" ,
423
- auth .Oauth2TokenExhange .PrivateKey .SecretKeyRef .Name ,
424
- auth .Oauth2TokenExhange .PrivateKey .SecretKeyRef .Key ,
426
+ auth .Oauth2TokenExchange .PrivateKey .SecretKeyRef .Name ,
427
+ auth .Oauth2TokenExchange .PrivateKey .SecretKeyRef .Key ,
425
428
err ,
426
429
)
427
430
}
428
431
429
- var signMethod jwt.SigningMethod
430
- if auth .Oauth2TokenExhange .JWTHeader .SignAlg != "" {
431
- if ! isSignAlgorithmSupported (auth .Oauth2TokenExhange .JWTHeader .SignAlg ) {
432
- return nil , fmt .Errorf (
433
- "sign algorithm %s does not supported" ,
434
- auth .Oauth2TokenExhange .JWTHeader .SignAlg ,
435
- )
436
- }
437
- signMethod = jwt .GetSigningMethod (auth .Oauth2TokenExhange .JWTHeader .SignAlg )
438
- } else {
439
- signMethod = jwt .SigningMethodRS256
440
- }
441
-
442
432
return ydbCredentials .NewOauth2TokenExchangeCredentials (
443
- ydbCredentials .WithTokenEndpoint (auth .Oauth2TokenExhange .Endpoint ),
444
- ydbCredentials .WithAudience (auth .Oauth2TokenExhange . JWTClaims .Audience ),
433
+ ydbCredentials .WithTokenEndpoint (auth .Oauth2TokenExchange .Endpoint ),
434
+ ydbCredentials .WithAudience (auth .Oauth2TokenExchange .Audience ),
445
435
ydbCredentials .WithJWTSubjectToken (
436
+ ydbCredentials .WithKeyID (keyID ),
446
437
ydbCredentials .WithSigningMethod (signMethod ),
447
438
ydbCredentials .WithPrivateKey (privateKeyPEM ),
448
- ydbCredentials .WithKeyID (auth .Oauth2TokenExhange .JWTHeader .KeyID ),
449
- ydbCredentials .WithAudience (auth .Oauth2TokenExhange .JWTClaims .Audience ),
450
- ydbCredentials .WithIssuer (auth .Oauth2TokenExhange .JWTClaims .Issuer ),
451
- ydbCredentials .WithSubject (auth .Oauth2TokenExhange .JWTClaims .Subject ),
452
- ydbCredentials .WithID (auth .Oauth2TokenExhange .JWTClaims .ID ),
439
+ ydbCredentials .WithIssuer (auth .Oauth2TokenExchange .Issuer ),
440
+ ydbCredentials .WithSubject (auth .Oauth2TokenExchange .Subject ),
441
+ ydbCredentials .WithID (auth .Oauth2TokenExchange .ID ),
442
+ ydbCredentials .WithAudience (auth .Oauth2TokenExchange .Audience ),
453
443
))
454
444
}
455
445
@@ -485,7 +475,7 @@ func GetYDBCredentials(
485
475
return getYDBStaticCredentials (ctx , storage , restConfig )
486
476
}
487
477
488
- if auth .Oauth2TokenExhange != nil {
478
+ if auth .Oauth2TokenExchange != nil {
489
479
return getYDBOauth2Credentials (ctx , storage , restConfig )
490
480
}
491
481
@@ -602,14 +592,3 @@ func PodIsReady(e corev1.Pod) bool {
602
592
}
603
593
return false
604
594
}
605
-
606
- func isSignAlgorithmSupported (alg string ) bool {
607
- supportedAlgs := jwt .GetAlgorithms ()
608
-
609
- for _ , supportedAlg := range supportedAlgs {
610
- if alg == supportedAlg {
611
- return true
612
- }
613
- }
614
- return false
615
- }
0 commit comments