Add plugin and key-cache for ExternalJWTSigner integration

This commit is contained in:
Harshal Neelkamal
2024-10-18 19:31:35 +00:00
parent 4c487b00af
commit 6fdacf0411
62 changed files with 4542 additions and 145 deletions

View File

@@ -409,7 +409,9 @@ func (e *TokensController) generateTokenIfNeeded(logger klog.Logger, serviceAcco
// Generate the token
if needsToken {
token, err := e.token.GenerateToken(serviceaccount.LegacyClaims(*serviceAccount, *liveSecret))
c, pc := serviceaccount.LegacyClaims(*serviceAccount, *liveSecret)
// TODO: need to plumb context if using external signer ever becomes a posibility.
token, err := e.token.GenerateToken(context.TODO(), c, pc)
if err != nil {
return false, err
}

View File

@@ -17,6 +17,7 @@ limitations under the License.
package serviceaccount
import (
"context"
"reflect"
"testing"
"time"
@@ -40,7 +41,7 @@ type testGenerator struct {
Err error
}
func (t *testGenerator) GenerateToken(sc *jwt.Claims, pc interface{}) (string, error) {
func (t *testGenerator) GenerateToken(ctx context.Context, sc *jwt.Claims, pc interface{}) (string, error) {
return t.Token, t.Err
}