Skip to content

Commit

Permalink
Merge pull request #566 from 1EdTech/feature/vcdm-20
Browse files Browse the repository at this point in the history
Verifiable Credentials Data Model 2.0
  • Loading branch information
xaviaracil authored Apr 3, 2024
2 parents 7391e20 + 4c68ee4 commit 44843d8
Show file tree
Hide file tree
Showing 44 changed files with 1,739 additions and 4,048 deletions.
2 changes: 1 addition & 1 deletion ob_v3p0/abstract.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ var abstract = `

## Abstract

This specification is a new version of the [1EdTech Open Badges Specification](https://www.imsglobal.org/activity/digital-badges) that aligns with the conventions of the [[[VC-DATA-MODEL]]] for the use cases of [=Defined Achievement Claim=] and a [=Skill Claim=]. The credentials that are produced are easily be bundled into [=Comprehensive Learner Records=] and [=Verifiable Presentations=]. Portability and learner data privacy are improved by expanding the usage of cryptographic proofs/signatures, because this format will be compatible with a growing array of proof schemas that are developed for the Verifiable Credentials Data Model.
This specification is a new version of the [1EdTech Open Badges Specification](https://www.imsglobal.org/activity/digital-badges) that aligns with the conventions of the [[[VC-DATA-MODEL-2.0]]] for the use cases of [=Defined Achievement Claim=] and a [=Skill Claim=]. The credentials that are produced are easily be bundled into [=Comprehensive Learner Records=] and [=Verifiable Presentations=]. Portability and learner data privacy are improved by expanding the usage of cryptographic proofs/signatures, because this format will be compatible with a growing array of proof schemas that are developed for the Verifiable Credentials Data Model.

`;
17 changes: 9 additions & 8 deletions ob_v3p0/api.html
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ <h4 id="scopes">Scopes</h4>

<section data-operation="org.1edtech.ob.v3p0.rest.getcredentials.operation">
<pre class="http example" title="Sample getCredentials Request">
GET /ims/ob/v3p0/assertions?limit=2&offset=0 HTTP/1.1
GET /ims/ob/v3p0/credentials=2&offset=0 HTTP/1.1
Host: example.edu
Authorization: Bearer 863DF0B10F5D432EB2933C2A37CD3135A7BB7B07A68F65D92
Accept: application/json
Expand All @@ -171,10 +171,10 @@ <h4 id="scopes">Scopes</h4>
HTTP/1.1 200 OK
Content-Type: application/ld+json
X-Total-Count: 1
Link: &lt;https://www.imsglobal.org/ims/ob/v3p0/assertions?limit=2&offset=1>; rel="next",
&lt;https://www.imsglobal.org/ims/ob/v3p0/assertions?limit=2&offset=0>; rel="last",
&lt;https://www.imsglobal.org/ims/ob/v3p0/assertions?limit=2&offset=0>; rel="first",
&lt;https://www.imsglobal.org/ims/ob/v3p0/assertions?limit=2&offset=0>; rel="prev"
Link: &lt;https://www.imsglobal.org/ims/ob/v3p0/credentials?limit=2&offset=1>; rel="next",
&lt;https://www.imsglobal.org/ims/ob/v3p0/credentials?limit=2&offset=0>; rel="last",
&lt;https://www.imsglobal.org/ims/ob/v3p0/credentials?limit=2&offset=0>; rel="first",
&lt;https://www.imsglobal.org/ims/ob/v3p0/credentials?limit=2&offset=0>; rel="prev"

{
"compactJwsStrings": [
Expand Down Expand Up @@ -299,9 +299,10 @@ <h4 id="scopes">Scopes</h4>
"authorizationUrl": "provider.example.com/authorize",
"refreshUrl": "provider.example.com/token",
"scopes": {
"https://purl.imsglobal.org/spec/clr/v2p0/scope/delete" : "...",
"https://purl.imsglobal.org/spec/clr/v2p0/scope/readonly" : "...",
"https://purl.imsglobal.org/spec/clr/v2p0/scope/replace" : "..."
"https://purl.imsglobal.org/spec/ob/v3p0/scope/credential.readonly" : "...",
"https://purl.imsglobal.org/spec/ob/v3p0/scope/credential.upsert" : "...",
"https://purl.imsglobal.org/spec/ob/v3p0/scope/profile.readonly" : "...",
"https://purl.imsglobal.org/spec/ob/v3p0/scope/profile.update" : "..."
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion ob_v3p0/cert/abstract.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ var abstract = `

Open Badges are visual symbols of accomplishments packed with verifiable metadata according to the Open Badges specification. The Open Badges 3.0 specification [OB-30] defines the properties necessary to define an achievement and award it to a recipient, as well as procedures for verifying badge authenticity and “baking” badge information into portable image files. It includes term definitions for representations of data in Open Badges and defines an API for exchanging badge information. These term definitions appear in the current Open Badges JSON-LD Context File.

This version of the specification aligns Open Badges with the conventions of the [[[VC-DATA-MODEL]]] for the use cases of [=Defined Achievement Claim=] and a [=Skill Claim=]. The credentials that are produced are easily be bundled into [=Comprehensive Learner Records=] and [=Verifiable Presentations=]. Portability and learner data privacy are improved by expanding the usage of cryptographic proofs/signatures, because this format will be compatible with a growing array of proof schemas that are developed for the Verifiable Credentials Data Model.
This version of the specification aligns Open Badges with the conventions of the [[[VC-DATA-MODEL-2.0]]] for the use cases of [=Defined Achievement Claim=] and a [=Skill Claim=]. The credentials that are produced are easily be bundled into [=Comprehensive Learner Records=] and [=Verifiable Presentations=]. Portability and learner data privacy are improved by expanding the usage of cryptographic proofs/signatures, because this format will be compatible with a growing array of proof schemas that are developed for the Verifiable Credentials Data Model.

`;
4 changes: 0 additions & 4 deletions ob_v3p0/cert/conformance.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@ var conformance = `

## Conformance and Certification

<div class="ednote">
@@ TBD @@
</div>

The goal of 1EdTech certification for Open Badges [[OB-30]] is to ensure interoperable implementations of badging systems that generate and issue digital badges as well as those that host and display badges.

1EdTech certification for Open Badges demands features and capabilities beyond those that are strictly required by the specification. These additional features are defined in this document. The specification is intentionally left very flexible to allow it to be used for many purposes. Gaining this certification is expected to be more difficult than simply meeting the minimum requirements for producing a valid Open Badge.
Expand Down
18 changes: 16 additions & 2 deletions ob_v3p0/cert/displayer.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ An Open Badges Displayer is an application that displays and verifies badges for
The tests within this section refer to possible values of the status of a badge. The meaning of these values and how to determine them from a credential is defined in sections 9.1 and 9.2 of [[OB-30]]. As a quick summary:

- A Credential is revoked if the \`credentialStatus\` property is present, and the \`type\` of the CredentialStatus object is "1EdTechRevocationList".
- A Credential is expired if the current date and time is after the \`expirationDate\`.
- A Credential is expired if the current date and time is after the \`validUntil\`.

### Tests {#display-tests}

1. The conformance test system will display the URL of three badges. One of them is neither expired nor revoked, other is expired but not revoked and the last one is not expired but revoked. The candidate platform must verify these badges and submit the status in the conformance test system. Demonstrate through separate videos that the platform allows viewers of badges to see the following data in all provided badges:
1. The conformance test system will display the URL of three badges. One of them is neither expired nor revoked, other is expired but not revoked and the last one is not expired but revoked. The candidate platform must verify these badges and submit the status in the conformance test system. Demonstrate through separate videos that the platform allows viewers of badges to see the following data in all provided badges:

- image (if the badge provided is a baked badge)
- name
Expand All @@ -24,4 +24,18 @@ The tests within this section refer to possible values of the status of a badge.

1. Demonstrate through video that the platform allows viewers of badges to do the following:
- Trigger verification of the badge and retrieve results verifying that the badge credential is not expired, and not revoked

1. The conformance test system will display the URL of three badges created using [[[VC-DATA-MODEL]]] ([[VC-DATA-MODEL]]) with
the same characteristics as in Test 1. The candidate platform must verify these badges and submit the status in the conformance test system. Demonstrate through separate videos that the platform allows viewers of badges to see the following data in all provided badges:

- image (if the badge provided is a baked badge)
- name
- description
- issuer name
- issuedOn Date
- status (expired and/or revoked)

1. Demonstrate through video that the platform allows viewers of badges to do the following:
- Trigger verification of the badge and retrieve results verifying that the badge credential is not expired, and not revoked

`;
4 changes: 2 additions & 2 deletions ob_v3p0/cert/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ The following terms are used throughout this document.

- <dfn>Skill Claim</dfn>: An [=assertion=] that the learner has the specified [=skill=].

- <dfn data-lt="VC">Verifiable Credential</dfn> (VC): A tamper-evident credential whose issuer can be cryptographically verified. See [[vc-data-model]].
- <dfn data-lt="VC">Verifiable Credential</dfn> (VC): A tamper-evident credential whose issuer can be cryptographically verified. See [[vc-data-model-2.0]].

- <dfn data-lt="VP">Verifiable Presentation</dfn> (VP): A tamper-evident presentation of one or more Verifiable Credentials of which cryptographic verification can be used to determine the trustworthiness of the authorship of the data. [[vc-data-model]]
- <dfn data-lt="VP">Verifiable Presentation</dfn> (VP): A tamper-evident presentation of one or more Verifiable Credentials of which cryptographic verification can be used to determine the trustworthiness of the authorship of the data. [[vc-data-model-2.0]]

- <dfn data-lt="Verifiable">Verification</dfn>: The evaluation of whether a [=verifiable credential=] or [=verifiable presentation=] is an authentic and timely statement of the issuer or presenter, respectively. This includes checking that: the credential (or presentation) conforms to the specification; the proof method is satisfied; and, if present, the status check succeeds.

Expand Down
4 changes: 3 additions & 1 deletion ob_v3p0/cert/issuer.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ Open Badges Issuers that only create OpenBadgeCredentials and not meet Service C

### Tests {#issuer-tests}

1. Create a valid baked 3.0 badge and issue it to the recipient \`conformance@imsglobal.org\` and submit the issued badge to the conformance test system.
1. Create a valid 3.0 badge and issue it to the recipient \`conformance@imsglobal.org\` and submit the issued badge to the conformance test system.
1. Demonstrate through video the candidate platform's methodology for a recipient to retrieve their badge.

1. (Optional) Complete tests of, at least, required endpoints of [[[#service-consumer-write]]].

### Service Consumer (Write) Conformance {#service-consumer-write}
Expand Down
21 changes: 13 additions & 8 deletions ob_v3p0/cert/ob-cert-v3p0.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,6 @@
<!-- Load the MPS configuration -->
<script class="remove" src="../mps-config.js"></script>

<!-- Load ajv2019 (Another JSON Schema Validator) if you want your examples validated -->
<script class="remove" src="https://cdnjs.cloudflare.com/ajax/libs/ajv/8.11.0/ajv2019.bundle.min.js"
integrity="sha512-C+5LzjYlC8qhPFniPXiod8efyXJ3fDRCUS87L8o8z5CGt/1LHflMozW6py7s16Z+TJy52C9teuDUq6iq2Nft7A=="
crossorigin="anonymous" referrerpolicy="no-referrer"></script>

<script class='remove'>
var respecConfig = {
mainSpecTitle: "Open Badges Specification",
Expand All @@ -28,15 +23,15 @@
specNature: "normative", // spec nature is "normative" or "informative"
specType: "cert", // spec type is "main", "cert", "impl", "errata" or other agreed upon string
specVersion: "3.0",
docVersion: "1.1",
docVersion: "1.2",
specStatus: "Candidate Final Public",
specDate: "July 14, 2023",
specDate: "April 2, 2024",
contributors: _contributors,
localBiblio: _localBiblio,
iprs: _iprs,
xref: [
"did-core",
"vc-data-model"
"vc-data-model-2.0"
],

// Remove for IMS Final
Expand Down Expand Up @@ -111,6 +106,16 @@ <h1>Revision History</h1>
New version of the context.json (`context-3.0.3.json`) file. See [[[OB-ERRATA-30]]] for detailed changes
</td>
</tr>
<tr>
<td>Version 3.0 IMS Candidate Final</td>
<td>1.2</td>
<td>April 2, 2024</td>
<td>
<ul>
<li>Upgraded to [[VC-DATA-MODEL-2.0]]</li>
</ul>
</td>
</tr>
</tbody>
</table>
</section>
Expand Down
Loading

0 comments on commit 44843d8

Please sign in to comment.