Skip to content

Commit

Permalink
feat: Make right call for openidconfiguration for statuslist #2581
Browse files Browse the repository at this point in the history
  • Loading branch information
bibash28 committed Apr 10, 2024
1 parent d0b34be commit f9b2774
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,7 @@ class CredentialDetailsCubit extends Cubit<CredentialDetailsState> {
issuer: payload['iss']?.toString() ?? item.issuer,
jwtDecode: jwtDecode,
jwt: response,
fromStatusList: true,
);

if (isVerified != VerificationType.verified) {
Expand Down Expand Up @@ -216,6 +217,7 @@ class CredentialDetailsCubit extends Cubit<CredentialDetailsState> {
issuer: payload['iss']?.toString() ?? item.issuer,
jwtDecode: jwtDecode,
jwt: response,
fromStatusList: true,
);

if (isVerified != VerificationType.verified) {
Expand Down
1 change: 1 addition & 0 deletions lib/enterprise/cubit/enterprise_cubit.dart
Original file line number Diff line number Diff line change
Expand Up @@ -325,6 +325,7 @@ class EnterpriseCubit extends Cubit<EnterpriseState> {
issuer: payload['iss'].toString(),
jwtDecode: profileCubit.jwtDecode,
jwt: response,
fromStatusList: true,
);

if (isVerified != VerificationType.verified) {
Expand Down
2 changes: 2 additions & 0 deletions lib/oidc4vc/verify_encoded_data.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Future<VerificationType> verifyEncodedData({
required JWTDecode jwtDecode,
required String jwt,
Map<String, dynamic>? publicKeyJwk,
bool fromStatusList = false,
}) async {
final OIDC4VC oidc4vc = OIDC4VC();

Expand All @@ -30,6 +31,7 @@ Future<VerificationType> verifyEncodedData({
jwt: updateJwt,
issuerKid: issuerKid,
publicJwk: publicKeyJwk,
fromStatusList: fromStatusList,
);
return verificationType;
}
20 changes: 17 additions & 3 deletions packages/oidc4vc/lib/src/oidc4vc.dart
Original file line number Diff line number Diff line change
Expand Up @@ -723,14 +723,24 @@ class OIDC4VC {
return tokenData;
}

Future<Response<Map<String, dynamic>>> getDidDocument(String didKey) async {
Future<Response<Map<String, dynamic>>> getDidDocument({
required String didKey,
required bool fromStatusList,
}) async {
try {
if (isURL(didKey)) {
OpenIdConfiguration openIdConfiguration;

var isAuthorizationServer = false;

if (fromStatusList) {
///as this is not a VC issuer
isAuthorizationServer = true;
}

openIdConfiguration = await getOpenIdConfig(
baseUrl: didKey,
isAuthorizationServer: false,
isAuthorizationServer: isAuthorizationServer,
);

final authorizationServer = openIdConfiguration.authorizationServer;
Expand Down Expand Up @@ -1096,14 +1106,18 @@ class OIDC4VC {
required String? issuerKid,
required String jwt,
required Map<String, dynamic>? publicJwk,
required bool fromStatusList,
}) async {
try {
Map<String, dynamic>? publicKeyJwk;

if (publicJwk != null) {
publicKeyJwk = publicJwk;
} else {
final didDocument = await getDidDocument(issuer);
final didDocument = await getDidDocument(
didKey: issuer,
fromStatusList: fromStatusList,
);

publicKeyJwk = readPublicKeyJwk(
issuer: issuer,
Expand Down

0 comments on commit f9b2774

Please sign in to comment.