重构 JWT 与 Transit 签名流程

This commit is contained in:
2026-09-11 16:43:46 +00:00
parent 0532fc25bf
commit 6fb166768f
5 changed files with 131 additions and 193 deletions
+4 -9
View File
@@ -30,24 +30,19 @@ func TestTransitSignerProducesJWTVerifiedByPublishedJWKS(t *testing.T) {
if err != nil {
t.Fatalf("NewTransitSigner() error = %v", err)
}
issuer, err := NewIssuer(signer)
issuer, err := NewIssuer("https://identity.ad.ddupan.top", 5*time.Minute, signer)
if err != nil {
t.Fatalf("NewIssuer() error = %v", err)
}
now := time.Now().UTC().Truncate(time.Second)
issuer.now = func() time.Time { return now }
compact, err := issuer.Sign(context.Background(), Claims{
Issuer: "https://identity.ad.ddupan.top",
compact, err := issuer.issueAt(context.Background(), IssueRequest{
Subject: "01993f4d-5e1a-7000-8000-000000000001",
PrincipalName: "ci/homelab-infra-plan",
Audience: []string{"https://bao.ad.ddupan.top:8200"},
IssuedAt: now.Unix(),
NotBefore: now.Unix(),
ExpiresAt: now.Add(5 * time.Minute).Unix(),
Audience: "https://bao.ad.ddupan.top:8200",
JWTID: "01993f4d-5e1a-7000-8000-000000000002",
Scope: "bao.login",
})
}, now)
if err != nil {
t.Fatalf("Sign() error = %v", err)
}