Open Badges Version 2.1 Conformance and Certification Guide

Open Badges Conformance and Certification Guide

IMS Candidate Final
Version 2.1
IMS Candidate Final
Date Issued: January 24, 2020
Status: This document is for review and adoption by the IMS membership.
This version: https://www.imsglobal.org/spec/ob/v2p1/cert/
Latest version: https://www.imsglobal.org/spec/ob/latest/cert/
Errata: https://www.imsglobal.org/spec/ob/v2p1/errata/

IPR and Distribution Notice

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.

IMS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on IMS's procedures with respect to rights in IMS specifications can be found at the IMS Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.

The following participating organizations have made explicit license commitments to this specification:

Spec version Org name Date election made Necessary claims Type
2.1 Concentric Sky October 24, 2019 No RF RAND (Required & Optional Elements)
2.1 Digital Knowledge October 11, 2019 No RF RAND (Required & Optional Elements)
2.1 Washington State Board for Community and Technical Colleges (WSBCTC) October 4, 2019 No RF RAND (Required & Optional Elements)
2.1 Credly October 3, 2019 No RF RAND (Required & Optional Elements)

Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/speclicense.html.

Permission is granted to all parties to use excerpts from this document as needed in producing requests for proposals.

The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.

THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.

Public contributions, comments and questions can be posted here: http://www.imsglobal.org/forums/ims-glc-public-forums-and-resources.

© 2020 IMS Global Learning Consortium, Inc. All Rights Reserved.

Trademark information: http://www.imsglobal.org/copyright.html

Abstract

Open Badges are visual symbols of accomplishments packed with verifiable metadata according to the Open Badges specification. The Open Badges specification 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. These term definitions appear in the current Open Badges JSON-LD Context File.

1. Introduction

1.1 Conformance and Certification

As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.

The key words "MAY", "MUST", "MUST NOT", "OPTIONAL", "RECOMMENDED", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", and "SHOULD NOT" in this document are to be interpreted as described in [RFC2119].

An implementation of this specification that fails to implement a MUST/REQUIRED/SHALL requirement or fails to abide by a MUST NOT/SHALL NOT prohibition is considered nonconformant. SHOULD/SHOULD NOT/RECOMMENDED statements constitute a best practice. Ignoring a best practice does not violate conformance but a decision to disregard such guidance should be carefully considered. MAY/OPTIONAL statements indicate that implementers are entirely free to choose whether or not to implement the option.

1.2 Specification Documents

The full set of documents is comprised of the following documents:

1.3 Terminology

The following terms are used throughout this document.

  • Assertion: A representation of an awarded badge, used to share information about a badge belonging to one recipient.
  • Backpack: A term originally used to describe Open Badges services that provide importing, aggregation, and hosting features for recipients. These services match most closely with the role we now define as an Open Badge “Host” application. May also refer to the Mozilla Backpack.
  • BadgeClass: A collection of information about the accomplishment recognized by the Open Badge. Many assertions may be created corresponding to one BadgeClass.
  • Badge Connect™ API: Name of the RESTful web service for transfering assertions and profiles between systems.
  • Badge Issuer: A service that allows for the creation of BadgeClasses and the subsequent issuing of Assertions to recipients that conform to the Open Badges specification. Beginning with Open Badges 2.0, the candidate platform must issue a valid baked badge and demonstrate how the badge is retrieved by the recipient.
  • Badge Displayer: An application that displays verified badges to viewers. Beginning with Open Badges 2.0, the candidate platform must display a minimum set of badge metadata and support viewer-initiated verification of a badge.
  • Badge Host: An application that can import, aggregate, and publicly host Assertions for recipients. It also supports export of badges at user request. Beginning with Open Badges 2.0, the candidate platform must be able to import all formats of Open Badges as well as prove that badge metadata is not lost upon export of the badge.
  • Baked badge: Badge Assertions may be “baked” into image files as portable credentials.
  • Candidate platform: A platform implementing the Open Badges specification with the intent to obtain certification from IMS. They may be in the process to obtain certification.
  • Criteria: Detailed information about what must be done in order to be recognized with an assertion of a particular BadgeClass. Potential recipients may use criteria to understand what they must do; consumers may use criteria to understand what recipients did in order to earn the badge.
  • Evidence: Links to and descriptions of evidence related to the issuance of an Assertion, such as portfolio items or narratives that describe a badge recipient's work.
  • Extensions: Extensions are a means for issuers to add additional functionality through the use of metadata on Badge Objects beyond what the standard specifies itself.
  • Validation and verification (of badge assertions): Data validation is a procedure that ensures a cluster of data objects that form an Open Badge are appropriately formatted, published, and linked and that each data object conforms to requirements for its class. Validation of all data class instances used in an Open Badge is a part of badge verification. Verification is the process of ensuring the data that makes up an Open Badge is correct. It includes a number of data validation checks as well as procedures to ensure the badge is trustworthy. Verification is distinct from compliance certification for applications and services that implement the specification, though verification is typically a component of certification programs. See Verification in the current specification.

2. Open Badges Conformance

The goal of IMS certification for Open Badges is to ensure interoperable implementations of badging systems that generate and issue digital badges as well as those that host and display badges.

IMS 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.

Certification may be achieved in one or more of the following roles:

  • Issuer
  • Displayer
  • Host

The roles and associated certification tests are defined below.

2.1 The Conformance Process

The process for conformance testing role implementations of Open Badges includes the following:

  • First, go to the IMS Conformance Test Suite for Open Badges 2.0 and follow the instructions to create and submit an application for Open Badges 2.0 conformance certification.
  • Second, go to the [IMS Conformance Test Suite for Open Badges 2.1] and follow the instructions to create and submit an application for Open Badges 2.1 conformance certification described here.

To pass certification, you must take the following steps:

  • You must be an IMS Digital Credentials and Badges Alliance Member, an IMS Affiliate Member, or IMS Contributing Member.
  • You must pass all the tests associated with the role you are applying for using the certification suite hosted on the IMS website. The roles and associated tests are specified below.
  • The tests must be completed by a designated representative of the IMS member organization, and you must agree that there is no misrepresentation or manipulation of results in the submitted information.

After IMS reviews your submitted information and notifies you that your application is approved, you can claim certification to Open Badges and display the IMS certified logo on your website and in your software. The IMS Global Certified Products Directory will list your conformance details.

2.2 Issuer Role Conformance

An Open Badges Issuer is an application that allows for the creation of BadgeClasses and the subsequent delivery of Assertions to recipients that conform to the Open Badges Specification v2.1. Beginning with Open Badges 2.1, the candidate platform must support the transimission of a badge using the Badge Connect™ API.

Tests

Test API Requester Responder Endpoint Required
1 GET Manifest Candidate IMS .well-known/badgeconnect.json Yes
2 OAuth2 Register Candidate IMS RegistrationUrl Yes
3 OAuth2 Authorize Candidate IMS AuthorizationUrl Yes
4 OAuth2 Token Candidate IMS TokenUrl Yes
5 POST Assertion Candidate IMS /assertions Yes
6 POST Profile Candidate IMS /profile No
  1. GET the Manifest from the IMS conformance testing platform.
  2. Request the IMS conformance testing platform dynamically register the candidate platform.
  3. Authorize the IMS conformance testing platform to create assertions and update profiles, and optionally offline access on behalf of the test user.
  4. Request an access token and optionally a refresh token from the IMS conformance testing platform in exchange for the authorization code provided in #3.
  5. POST a signed or unsigned Assertion to the /assertions endpoint on the IMS conformance testing platform.
  6. (Optional) POST a Profile to the /profile endpoint on the IMS conformance testing platform.

2.3 Displayer Role Conformance

An Open Badges Displayer is an application that displays verified badges to viewers. Beginning with Open Badges 2.1, the candidate platform must be able to retrieve badges using the Badge Connect™ API.

Tests

Test API Requester Responder Endpoint Required
1 GET Manifest Candidate IMS .well-known/badgeconnect.json Yes
2 OAuth2 Register Candidate IMS RegistrationUrl Yes
3 OAuth2 Authorize Candidate IMS AuthorizationUrl Yes
4 OAuth2 Token Candidate IMS TokenUrl Yes
5 GET Assertions Candidate IMS /assertions Yes
6 GET Profile Candidate IMS /profile Yes
  1. GET the Manifest from the IMS conformance testing platform.
  2. Request the IMS conformance testing platform dynamically register the candidate platform.
  3. Authorize the IMS conformance testing platform to retrieve assertions and profiles, and optionally offline access on behalf of the test user.
  4. Request an access token and optionally a refresh token from the IMS conformance testing platform in exchange for the authorization code provided in #3.
  5. GET signed and unsigned Assertions from the /assertions endpoint on the IMS conformance testing platform.
  6. GET a Profile from the /profile endpoint on the IMS conformance testing platform.

2.4 Host Role Conformance

An Open Badges Host is an application that can aggregate and publicly host Assertions for recipients. It also supports export of badges at user request. Beginning with Open Badges 2.1, the candidate platform must be able to send and receive assertions and profiles using the Badge Connect™ API.

Tests

Test API Requester Responder Endpoint Required
1 GET Manifest Candidate IMS .well-known/badgeconnect.json Yes
2 GET Manifest IMS Candidate .well-known/badgeconnect.json Yes
3 OAuth2 Register Candidate IMS RegistrationUrl Yes
4 OAuth2 Register IMS Candidate RegistrationUrl Yes
5 OAuth2 Authorize Candidate IMS AuthorizationUrl Yes
6 OAuth2 Authorize IMS Candidate AuthorizationUrl Yes
7 OAuth2 Token Candidate IMS TokenUrl Yes
8 OAuth2 Token IMS Candidate TokenUrl Yes
9 GET Assertions Candidate IMS /assertions Yes
10 GET Assertions IMS Candidate /assertions Yes
11 POST Assertion Candidate IMS /assertions Yes
12 POST Assertion IMS Candidate /assertions Yes
13 GET Profile Candidate IMS /profile Yes
14 GET Profile IMS Candidate /profile Yes
15 POST Profile Candidate IMS /profile No
16 POST Profile IMS Candidate /profile No
  1. GET the Manifest from the IMS conformance testing platform.
  2. Provide the candidate platform Manifest to the IMS conformance testing platform when requested.
  3. Request the IMS conformance testing platform dynamically register the candidate platform.
  4. Dynamically register the IMS conformance testing platform when requested.
  5. Request authorization for the IMS conformance testing platform to retrieve assertions and profiles, and optionally offline access on behalf of the test user.
  6. Provide authorization to the IMS conformance testing platform for the candidate platform to create assertions and update profiles, and optionally offline access on behalf of the test user.
  7. Request an access token and optionally a refresh token from the IMS conformance testing platform in exchange for the authorization code provided in #5.
  8. Provide an access token and optionally a refresh token to the IMS conformance testing platform in exchange for the authorization code provided in #6.
  9. GET signed and unsigned Assertions from the /assertions endpoint on the IMS conformance testing platform.
  10. Provide signed and unsigned Assertions from the /assertions endpoint to the IMS conformance testing platform.
  11. POST a signed or unsigned Assertion to the /assertions endpoint on the IMS conformance testing platform.
  12. Receive a signed or unsigned Assertion posted to the /assertions endpoint by the IMS conformance testing platform.
  13. GET a profile from the /profile endpoint on the IMS conformance testing platform.
  14. Provide a profile from the /profile endpoint to the IMS conformance testing platform.
  15. (Optional) POST a to the /profile endpoint on the IMS conformance testing platform.
  16. (Optional) Receive a posted to the /profile endpoint by the IMS conformance testing platform.

A. Revision History

This section is non-normative.

Version No. Release Date Comments
Version 2.1 IMS Candidate Final January 24, 2020 Second coordinated release.
Version 2.1 IMS Candidate Final August 29, 2019 Added Badge Connect™ API conformance tests.
Version 2.0 IMS Final April 12, 2018 Covers Issuer, Displayer, and Host conformance and certification.

B. References

B.1 Normative references

[OB-21]
Open Badges Specification v2.1. Jeff Bohrer; Andy Miller. IMS Global. January 24, 2020. URL: https://www.imsglobal.com/spec/ob/v2p1/
[OB-CERT-21]
Open Badges Conformance and Certification Guide v2.1. Jeff Bohrer; Andy Miller. IMS Global. January 24, 2020. URL: https://www.imsglobal.org/spec/ob/v2p1/cert/
[OB-JSON-21]
JSON Schema Files for Open Badges Badge Connect(TM) API v2.1. Jeff Bohrer; Andy Miller. IMS Global. January 24, 2020. URL: https://purl.imsglobal.org/spec/ob/v2p1/schema/json/
[OB-JSONLD-21]
Open Badges JSON-LD Context File. Jeff Bohrer; Alex Hripak; Andy Miller; Nate Otto. IMS Global. January 24, 2020. URL: https://purl.imsglobal.org/spec/ob/v2p1/context/
[OB-OPEN-21]
OpenAPI 3.0 File for Open Badges Badge Connect(TM) API v2.1. Jeff Bohrer; Andy Miller. IMS Global. January 24, 2020. URL: https://purl.imsglobal.org/spec/ob/v2p1/schema/openapi/imsob_v2p1.yaml
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://tools.ietf.org/html/rfc2119

C. List of Contributors

The following individuals contributed to the development of this document:

Name Organization Role
Alexander HripakCredlyEditor
Sara ArjonaMoodle
Jeff BohrerIMS Global
Viktor HaagD2L
Takahiro HataDigital Knowledge EdTech Lab
Chris HoustoneLumen
Mark LeubaIMS Global
Andy MillerIMS Global
Omid MufeedDigitalme
Nate OttoConcentric Sky
Justin PitcherCampus Labs
Alex ReisD2L

IMS Global Learning Consortium, Inc. ("IMS Global") is publishing the information contained in this document ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.

IMS Global makes no warranty or representation regarding the accuracy or completeness of the Specification.

This material is provided on an "As Is" and "As Available" basis.

The Specification is at all times subject to change and revision without notice.

It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.

IMS Global would appreciate receiving your comments and suggestions.

Please contact IMS Global through our website at http://www.imsglobal.org.

Please refer to Document Name: Open Badges Conformance and Certification Guide 2.1

Date: January 24, 2020