digitalcredentials / learner-credential-wallet

Learner Credential Wallet is a cross-platform iOS and Android mobile application for storing and sharing digital learner credentials.
https://lcw.app
MIT License
54 stars 28 forks source link

Issue with badge on android only #530

Closed kayaelle closed 8 months ago

kayaelle commented 9 months ago

When trying to add this badge using LCW on android via deeplink, this error displays: JSON parse error unrecognized token

When adding via raw json in android, there's this error: Ensure the URL references a file that contains one or more credentials

deeplink: dccrequest://request?auth_type=bearer&issuer=https://plugfest.participate.com&challenge=99612b24-63d9-11ea-b99f-4f66f3e4f81a&vc_request_url=https://9e2e-176-249-18-38.ngrok-free.app/reissue/5617cf39-ca48-4c5e-b0ab-212e8676fecd

Badge code:

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.2.json",
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ],
  "id": "https://api.participate.com/v1/open_badge_classes/ef1f67b7-ae01-4419-a785-9e29fdcff9ad",
  "type": [
    "VerifiableCredential",
    "OpenBadgeCredential"
  ],
  "name": "Emerging Leaders Badge",
  "issuer": {
    "type": [
      "Profile"
    ],
    "id": "did:key:z6MkqanD5cmEVf154z5xExoxNKENAzVr3gdPo4wD2R2aCUzj",
    "name": "Participate, Inc",
    "url": "https://www.participate.com",
    "image": "https://www.participate.com/hs-fs/hubfs/sm_participate_logo.png"
  },
  "issuanceDate": "2023-12-14T19:54:30.384935Z",
  "credentialSubject": {
    "type": [
      "AchievementSubject"
    ],
    "id": "did:key:z6MkpCSjiYdZe55pvraC8N9SNxthqtMfJQUry3Yhk8XwZ7co",
    "achievement": {
      "id": "urn:uuid:201bcd3e-4c67-4b84-b9ba-101efafc527c",
      "type": [
        "Achievement"
      ],
      "name": "Emerging Leaders Badge",
      "description": "The Emerging Leaders Badge is awarded to rising leaders who are committed to creating access to community, capital, and capacity building in their own markets.",
      "criteria": {
        "narrative": "To earn the Emerging Leaders Badge, individuals must have successfully completed at least four of the Emerging Leaders Fellowship modules.",
        "type": "Criteria"
      },
      "image": {
        "id": "https://s3.amazonaws.com/participate-community/public/756d04a-9.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVPMUYZRFOOZHXWMJ%2F20231214%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20231214T212251Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=0e84ff10afe02704b3854633d46778dac24e124d35073f3e2d6dd156d4936891",
        "type": "Image"
      }
    }
  },
  "proof": {
    "type": "Ed25519Signature2020",
    "created": "2023-12-14T21:42:32Z",
    "verificationMethod": "did:key:z6MkqanD5cmEVf154z5xExoxNKENAzVr3gdPo4wD2R2aCUzj#z6MkqanD5cmEVf154z5xExoxNKENAzVr3gdPo4wD2R2aCUzj",
    "proofPurpose": "assertionMethod",
    "proofValue": "z5fKWXaaafBdioEcp8Pnbq8QfeHfKP5LbApZYDTvFWrcBfTZN1B6cyLPpYsi9whYEZajWnYGgNMg4BFvxTTkm4F2y"
  }
}
kayaelle commented 9 months ago

Investigation notes: Can add the credential without the VP in ios but not in android but with both, when adding with the VP, there is a parsing error which maybe indicates that's where the parsing issue is?

Android dev log error: Running app.lcw v2.0.18-build73 2023-12-15T17:38:30.000Z [ERROR] { [SyntaxError: JSON Parse error: Unrecognized token ' '] line: 1541, column: 3155, sourceURL: 'index.android.bundle' } 2023-12-15T17:39:06.343Z [ERROR] { [SyntaxError: JSON Parse error: Unrecognized token ' '] line: 1541, column: 3155, sourceURL: 'index.android.bundle' } ios: Running edu.mit.eduwallet v2.0.18-build73 2023-12-15T16:39:06.052Z [INFO] --------- 2023-12-15T16:39:06.053Z [INFO] null 2023-12-15T16:39:06.053Z [INFO] object 2023-12-15T16:39:06.053Z [INFO] --------- 2023-12-15T17:43:55.382Z [ERROR] [SyntaxError: JSON Parse error: Unexpected identifier "https"]

kayaelle commented 9 months ago

Credential wrapped in VP (taken from send credential in ios app):

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1"
  ],
  "type": [
    "VerifiablePresentation"
  ],
  "verifiableCredential": [
    {
      "@context": [
        "https://www.w3.org/2018/credentials/v1",
        "https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.2.json",
        "https://w3id.org/security/suites/ed25519-2020/v1"
      ],
      "id": "https://api.participate.com/v1/open_badge_classes/ef1f67b7-ae01-4419-a785-9e29fdcff9ad",
      "type": [
        "VerifiableCredential",
        "OpenBadgeCredential"
      ],
      "name": "Emerging Leaders Badge",
      "issuer": {
        "type": [
          "Profile"
        ],
        "id": "did:key:z6MkqanD5cmEVf154z5xExoxNKENAzVr3gdPo4wD2R2aCUzj",
        "name": "Participate, Inc",
        "url": "https://www.participate.com",
        "image": "https://www.participate.com/hs-fs/hubfs/sm_participate_logo.png"
      },
      "issuanceDate": "2023-12-14T19:54:30.384935Z",
      "credentialSubject": {
        "type": [
          "AchievementSubject"
        ],
        "id": "did:key:z6MkpCSjiYdZe55pvraC8N9SNxthqtMfJQUry3Yhk8XwZ7co",
        "achievement": {
          "id": "urn:uuid:201bcd3e-4c67-4b84-b9ba-101efafc527c",
          "type": [
            "Achievement"
          ],
          "name": "Emerging Leaders Badge",
          "description": "The Emerging Leaders Badge is awarded to rising leaders who are committed to creating access to community, capital, and capacity building in their own markets.",
          "criteria": {
            "narrative": "To earn the Emerging Leaders Badge, individuals must have successfully completed at least four of the Emerging Leaders Fellowship modules.",
            "type": "Criteria"
          },
          "image": {
            "id": "https://s3.amazonaws.com/participate-community/public/756d04a-9.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAVPMUYZRFOOZHXWMJ%2F20231214%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20231214T212251Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=0e84ff10afe02704b3854633d46778dac24e124d35073f3e2d6dd156d4936891",
            "type": "Image"
          }
        }
      },
      "proof": {
        "type": "Ed25519Signature2020",
        "created": "2023-12-14T21:42:32Z",
        "verificationMethod": "did:key:z6MkqanD5cmEVf154z5xExoxNKENAzVr3gdPo4wD2R2aCUzj#z6MkqanD5cmEVf154z5xExoxNKENAzVr3gdPo4wD2R2aCUzj",
        "proofPurpose": "assertionMethod",
        "proofValue": "z5fKWXaaafBdioEcp8Pnbq8QfeHfKP5LbApZYDTvFWrcBfTZN1B6cyLPpYsi9whYEZajWnYGgNMg4BFvxTTkm4F2y"
      }
    }
  ]
}
dmitrizagidulin commented 9 months ago

@kayaelle hmm, I can't quite replicate, adding the VC via raw JSON on Android -- adds just fine for me.

kayaelle commented 8 months ago

Closing. Will re-open if we here more from Participate on it.