diff --git a/packages/oidc4vc/lib/src/oidc4vc.dart b/packages/oidc4vc/lib/src/oidc4vc.dart index b3ca344aa..f32d1a5b4 100644 --- a/packages/oidc4vc/lib/src/oidc4vc.dart +++ b/packages/oidc4vc/lib/src/oidc4vc.dart @@ -721,8 +721,12 @@ class OIDC4VC { }) async { var authorizationEndpoint = '$issuer/authorize'; - final authorizationServer = openIdConfiguration.authorizationServer; - if (authorizationServer != null) { + if (openIdConfiguration.authorizationEndpoint != null) { + authorizationEndpoint = openIdConfiguration.authorizationEndpoint!; + } else { + final authorizationServer = + openIdConfiguration.authorizationServer ?? issuer; + final authorizationServerConfiguration = await getOpenIdConfig( baseUrl: authorizationServer, isAuthorizationServer: true, @@ -733,10 +737,6 @@ class OIDC4VC { authorizationEndpoint = authorizationServerConfiguration.authorizationEndpoint!; } - } else { - if (openIdConfiguration.authorizationEndpoint != null) { - authorizationEndpoint = openIdConfiguration.authorizationEndpoint!; - } } return authorizationEndpoint; }