@microsoft/useragent-sdk
Version:
SDK for building decentralized identity wallets and enterprise agents.
57 lines (56 loc) • 2.26 kB
TypeScript
import ICredential from './ICredential';
import Identifier from '../Identifier';
import CredentialManifest from './CredentialManifest';
import IDataHandler from './IDataHandler';
import 'isomorphic-fetch';
/**
* Class for obtaining
* credentials from an issuer.
*/
export default class CredentialIssuer {
/**
* The identifier for the issuer.
*/
readonly identifier: Identifier;
/**
* The manifest of the credential being issued
*/
readonly manifest: CredentialManifest;
/**
* Constructs an instance of the credential issuer
* based on the specified credential manifest.
* @param identifier for the issuer.
* @param manifest credential manifest for specific credential.
*/
constructor(identifier: Identifier, manifest: any);
/**
* Constructs an instance of the credential issuer
* based on the specified credential manifest.
* @param identifier for the issuer.
* @param manifest credential manifest object or endpoint string of manifest.
*/
static create(identifier: Identifier, manifest: CredentialManifest | string): Promise<CredentialIssuer>;
/**
* Gets the array of languages supported
* by the manifest.
*/
/**
* Requests a new credential from the issuer,
* providing a self-issued credential with the inputs
* specified in the credential manifest.
* @param inputCredential containing the inputs as specified
* in the credential manifest.
*/
requestCredential(inputCredential: ICredential): Promise<ICredential>;
/**
* Validate inputCredential with manifest and process and exchange inputCredential wuth Data Handler
* @param inputCredential The Self-Issued Credential that with required claims.
* @param _dataHandler Data handler for process and exchanging credentials.
*/
handleCredentialRequest(inputCredential: ICredential, dataHandler: IDataHandler): Promise<ICredential>;
/**
* Validate whether a credential is valid for the manifest.
* @param _inputCredential the Credential to validate against the credential manifest
*/
validateCredential(_inputCredential: ICredential): boolean;
}