From 47fc3da583bd97b656d1201919a7404f1425e59e Mon Sep 17 00:00:00 2001 From: Livio Amstutz Date: Mon, 27 Jan 2020 15:28:49 +0100 Subject: [PATCH] feat: add createKeyPair --- pkg/op/signer.go | 9 +++++++-- pkg/op/storage.go | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/op/signer.go b/pkg/op/signer.go index 280fd63..1aa9619 100644 --- a/pkg/op/signer.go +++ b/pkg/op/signer.go @@ -31,9 +31,14 @@ func NewDefaultSigner(ctx context.Context, storage AuthStorage) (Signer, error) } func (s *idTokenSigner) initialize(ctx context.Context) error { - key, err := s.storage.GetSigningKey(ctx) + var key *jose.SigningKey + var err error + key, err = s.storage.GetSigningKey(ctx) if err != nil { - return err + key, err = s.storage.SaveKeyPair(ctx) + if err != nil { + return err + } } s.signer, err = jose.NewSigner(*key, &jose.SignerOptions{}) if err != nil { diff --git a/pkg/op/storage.go b/pkg/op/storage.go index a6e323e..83b9f3e 100644 --- a/pkg/op/storage.go +++ b/pkg/op/storage.go @@ -16,6 +16,7 @@ type AuthStorage interface { GetSigningKey(context.Context) (*jose.SigningKey, error) GetKeySet(context.Context) (*jose.JSONWebKeySet, error) + SaveKeyPair(context.Context) (*jose.SigningKey, error) } type OPStorage interface {