From b1543d14f363c9768d4439276e2398969936cfcc Mon Sep 17 00:00:00 2001 From: Mykhailo Sizov Date: Wed, 20 Mar 2024 16:38:34 +0200 Subject: [PATCH] feat: default grant type Signed-off-by: Mykhailo Sizov --- pkg/service/oidc4ci/oidc4ci_service_initiate_issuance.go | 5 +++++ .../oidc4ci/oidc4ci_service_initiate_issuance_test.go | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/service/oidc4ci/oidc4ci_service_initiate_issuance.go b/pkg/service/oidc4ci/oidc4ci_service_initiate_issuance.go index 1d5fd1b8b..89a2088d9 100644 --- a/pkg/service/oidc4ci/oidc4ci_service_initiate_issuance.go +++ b/pkg/service/oidc4ci/oidc4ci_service_initiate_issuance.go @@ -52,6 +52,11 @@ func (s *Service) InitiateIssuance( // nolint:funlen,gocyclo,gocognit return nil, resterr.ErrVCOptionsNotConfigured } + // Apply default GrantType for backward compatability. + if req.GrantType == "" { + req.GrantType = GrantTypePreAuthorizedCode + } + if req.GrantType != GrantTypeAuthorizationCode && req.GrantType != GrantTypePreAuthorizedCode { return nil, resterr.NewValidationError(resterr.InvalidValue, "grant_type", fmt.Errorf("unexpected grant_type supplied %s", req.GrantType)) diff --git a/pkg/service/oidc4ci/oidc4ci_service_initiate_issuance_test.go b/pkg/service/oidc4ci/oidc4ci_service_initiate_issuance_test.go index 84c3f45e0..234f5e7a4 100644 --- a/pkg/service/oidc4ci/oidc4ci_service_initiate_issuance_test.go +++ b/pkg/service/oidc4ci/oidc4ci_service_initiate_issuance_test.go @@ -386,7 +386,7 @@ func TestService_InitiateIssuance(t *testing.T) { issuanceReq = &oidc4ci.InitiateIssuanceRequest{ ClientInitiateIssuanceURL: "", ClientWellKnownURL: walletWellKnownURL, - GrantType: "urn:ietf:params:oauth:grant-type:pre-authorized_code", + GrantType: "", // Pass empty value to cover default for GrantType. ResponseType: "token", Scope: []string{"openid", "profile"}, OpState: "eyJhbGciOiJSU0Et",