forked from Mirrors/doipjs
2.2 KiB
2.2 KiB
Service provider data object
The object returned by any service provider has the following layout:
serviceprovider
type string: the service provider's type [web, communication]
name string: the service provider's name
profile
display string: the profile's identifier for display
uri string: the profile's URI
proof
uri string: the URI containing the proof to be by humans and machines
fetch string: an alternative URI that should be used by machines
useProxy boolean: should the request be sent using a proxy
format string: [json, text]
claim
fingerprint string: the fingerprint that verifies the claim if found in the proof
format string: how is the fingerprint formatted [uri, message, fingerprint]
path array: the path to the claim inside the proof JSON
relation string: how the claim format relates to the proof format [contains, equals, oneOf]
qr string: a URI to be displayed as QR code if the claim is verified
customRequestHandler function: handles the request if the default request handler does not suffice; optional
serviceprovider.type
Type: string
Values: web, communication
Mandatory: true
Currently, only two types of service providers are supported:
web
: traditional website platformscommunication
: platforms for interpersonal communication
serviceprovider.name
Type: string
Values: *
Mandatory: true
The name of the service provider (or protocol): dns
, xmpp
, gitea
, fediverse
, etc.
profile.display
Type: string
Values: *
Mandatory: true
The account's name to display
proof.fetch
Sometimes, the URI used by humans to verify a claim is inadequate for use by machines. This is needed when the JSON is served by a different endpoint. In this case, machines will use a different URI than the one shown to humans.
claim.format
There are three claim formats:
- uri: the claim is formulated as
openpgp4fpr:FINGEPRPRINT
- message: the claim is formulated as
[Verifying my OpenPGP key: openpgp4fpr:FINGEPRPRINT]
- fingerprint: the claim is formulated as
FINGEPRPRINT