forked from Mirrors/doipjs
fix: fix compliance with Keyoxide v2 spec
This commit is contained in:
parent
58561d6e0d
commit
6eb2435127
3 changed files with 26 additions and 8 deletions
12
src/claim.js
12
src/claim.js
|
@ -321,20 +321,24 @@ export class Claim {
|
|||
*/
|
||||
toJSON () {
|
||||
let displayName = this._uri
|
||||
let displayUrl = ''
|
||||
let displayServiceProviderName = ''
|
||||
let displayUrl = null
|
||||
let displayServiceProviderName = null
|
||||
|
||||
if (this._status >= 200 && this._status < 300) {
|
||||
displayName = this._matches[0].profile.display
|
||||
displayUrl = this._matches[0].profile.uri
|
||||
displayServiceProviderName = this._matches[0].about.id
|
||||
displayServiceProviderName = this._matches[0].about.name
|
||||
} else if (this._status == ClaimStatus.MATCHED && !this.isAmbiguous()) {
|
||||
displayName = this._matches[0].profile.display
|
||||
displayUrl = this._matches[0].profile.uri
|
||||
displayServiceProviderName = this._matches[0].about.name
|
||||
}
|
||||
|
||||
return {
|
||||
claimVersion: 2,
|
||||
uri: this._uri,
|
||||
proofs: [this._fingerprint],
|
||||
matches: this._matches,
|
||||
matches: this._matches.map(x => x.toJSON()),
|
||||
status: this._status,
|
||||
display: {
|
||||
name: displayName,
|
||||
|
|
|
@ -84,7 +84,7 @@ export class Profile {
|
|||
*/
|
||||
encoding: PublicKeyEncoding.NONE,
|
||||
/**
|
||||
* The raw cryptographic key
|
||||
* The encoded cryptographic key
|
||||
* @type {string | null}
|
||||
* @public
|
||||
*/
|
||||
|
@ -164,8 +164,8 @@ export class Profile {
|
|||
primaryPersonaIndex: this.primaryPersonaIndex,
|
||||
publicKey: {
|
||||
keyType: this.publicKey.keyType,
|
||||
format: this.publicKey.format,
|
||||
keyData: this.publicKey.keyData,
|
||||
encoding: this.publicKey.encoding,
|
||||
encodedKey: this.publicKey.encodedKey,
|
||||
fetch: {
|
||||
method: this.publicKey.fetch.method,
|
||||
query: this.publicKey.fetch.query,
|
||||
|
|
|
@ -94,7 +94,7 @@ export class ServiceProvider {
|
|||
request: {
|
||||
/**
|
||||
* Location of the proof
|
||||
* @type {string}
|
||||
* @type {string | null}
|
||||
*/
|
||||
uri: spObj.proof.request.uri,
|
||||
/**
|
||||
|
@ -131,4 +131,18 @@ export class ServiceProvider {
|
|||
target: spObj.proof.target
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a JSON representation of the ServiceProvider object
|
||||
* @function
|
||||
* @returns {object}
|
||||
*/
|
||||
toJSON () {
|
||||
return {
|
||||
about: this.about,
|
||||
profile: this.profile,
|
||||
claim: this.claim,
|
||||
proof: this.proof
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue