@@ -407,49 +407,39 @@ func getYDBOauth2Credentials(
407407 ctx ,
408408 storage .Namespace ,
409409 restConfig ,
410- auth .Oauth2TokenExhange .PrivateKey .SecretKeyRef ,
410+ auth .Oauth2TokenExchange .PrivateKey .SecretKeyRef ,
411411 )
412412 if err != nil {
413413 return nil , fmt .Errorf (
414414 "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 ,
417417 err )
418418 }
419+
420+ keyID := * auth .Oauth2TokenExchange .KeyID
421+ signMethod := jwt .GetSigningMethod (auth .Oauth2TokenExchange .SignAlg )
419422 privateKeyPEM , err := jwt .ParseRSAPrivateKeyFromPEM ([]byte (privateKey ))
420423 if err != nil {
421424 return nil , fmt .Errorf (
422425 "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 ,
425428 err ,
426429 )
427430 }
428431
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-
442432 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 ),
445435 ydbCredentials .WithJWTSubjectToken (
436+ ydbCredentials .WithKeyID (keyID ),
446437 ydbCredentials .WithSigningMethod (signMethod ),
447438 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 ),
453443 ))
454444}
455445
@@ -485,7 +475,7 @@ func GetYDBCredentials(
485475 return getYDBStaticCredentials (ctx , storage , restConfig )
486476 }
487477
488- if auth .Oauth2TokenExhange != nil {
478+ if auth .Oauth2TokenExchange != nil {
489479 return getYDBOauth2Credentials (ctx , storage , restConfig )
490480 }
491481
@@ -602,14 +592,3 @@ func PodIsReady(e corev1.Pod) bool {
602592 }
603593 return false
604594}
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