Appuis et relevés d'apprentissage
phil/open-badgesAppuis
Un appui est le soutien d'un tiers à une réalisation, à un émetteur ou à un titre : un organisme partenaire, un
éditeur, un ordre professionnel. L'auteur de l'appui construit et signe un EndorsementCredential :
use Phil\OpenBadges\EndorsementIssuer;
$endorsement = new EndorsementIssuer($partnerProfile)->credential(
'https://example.org/badges/speaker', // what is endorsed: a URL, a urn:uuid: or a DID
'Endorsement of the Speaker badge',
'We recognize the talks this badge rewards.',
'urn:uuid:'.$uuid,
$now,
);
$signed = new EddsaRdfc2022()->sign($endorsement, $partnerSigner, $partnerMethod, $now); // or a JwtSigner
L'émetteur de ce qui est appuyé porte l'appui signé : new Achievement(..., endorsements: [$signed]),
new Issuer(..., endorsements: [$signed]), ou les $endorsements d'un titre. Un document avec sa preuve va dans
endorsement, un jeton dans endorsementJwt ; tout le reste lance InvalidBadge.
Comprehensive Learner Record 2.0
Un relevé d'apprentissage réunit les titres d'un apprenant dans un seul relevé que l'émetteur signe :
use Phil\OpenBadges\Clr\ClrIssuer;
$record = new ClrIssuer($issuerProfile)->credential($learner, [$securedDocument, $token], 'Record of Ada', 'urn:uuid:'.$uuid, $now);
$signed = new EddsaRdfc2022()->sign($record, $signer, $method, $now);
C'est un ClrCredential dont le ClrSubject est l'apprenant et dont le verifiableCredential contient de 1 à 200
titres : un document avec sa preuve Data Integrity tel quel, un jeton sous forme d'EnvelopedVerifiableCredential dont
l'identifiant est data:application/vc+jwt, suivi du jeton. partial: true indique qu'il ne contient qu'une partie
des titres de l'apprenant. Le relevé est sécurisé comme tout titre, et chaque titre intégré garde sa propre preuve.