@sphereon/oid4vci-client 0.2.0 → 0.4.1-unstable.247
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -201
- package/README.md +494 -371
- package/dist/AccessTokenClient.d.ts +30 -0
- package/dist/AccessTokenClient.d.ts.map +1 -0
- package/dist/AccessTokenClient.js +226 -0
- package/dist/AccessTokenClient.js.map +1 -0
- package/dist/AuthorizationDetailsBuilder.d.ts +11 -0
- package/dist/AuthorizationDetailsBuilder.d.ts.map +1 -0
- package/dist/AuthorizationDetailsBuilder.js +44 -0
- package/dist/AuthorizationDetailsBuilder.js.map +1 -0
- package/dist/CredentialOffer.d.ts +6 -0
- package/dist/CredentialOffer.d.ts.map +1 -0
- package/dist/CredentialOffer.js +49 -0
- package/dist/CredentialOffer.js.map +1 -0
- package/dist/CredentialRequestClient.d.ts +29 -0
- package/dist/CredentialRequestClient.d.ts.map +1 -0
- package/dist/CredentialRequestClient.js +63 -0
- package/dist/CredentialRequestClient.js.map +1 -0
- package/dist/CredentialRequestClientBuilderV1_0_09.d.ts +29 -0
- package/dist/CredentialRequestClientBuilderV1_0_09.d.ts.map +1 -0
- package/dist/CredentialRequestClientBuilderV1_0_09.js +63 -0
- package/dist/CredentialRequestClientBuilderV1_0_09.js.map +1 -0
- package/dist/{main/lib/MetadataClient.d.ts → MetadataClient.d.ts} +39 -38
- package/dist/MetadataClient.d.ts.map +1 -0
- package/dist/MetadataClient.js +148 -0
- package/dist/MetadataClient.js.map +1 -0
- package/dist/OpenID4VCIClient.d.ts +72 -0
- package/dist/OpenID4VCIClient.d.ts.map +1 -0
- package/dist/OpenID4VCIClient.js +361 -0
- package/dist/OpenID4VCIClient.js.map +1 -0
- package/dist/ProofOfPossessionBuilder.d.ts +35 -0
- package/dist/ProofOfPossessionBuilder.d.ts.map +1 -0
- package/dist/ProofOfPossessionBuilder.js +120 -0
- package/dist/ProofOfPossessionBuilder.js.map +1 -0
- package/dist/{main/lib/functions → functions}/Encoding.d.ts +20 -17
- package/dist/functions/Encoding.d.ts.map +1 -0
- package/dist/functions/Encoding.js +144 -0
- package/dist/functions/Encoding.js.map +1 -0
- package/dist/functions/HttpUtils.d.ts +24 -0
- package/dist/functions/HttpUtils.d.ts.map +1 -0
- package/dist/functions/HttpUtils.js +93 -0
- package/dist/functions/HttpUtils.js.map +1 -0
- package/dist/functions/ProofUtil.d.ts +29 -0
- package/dist/functions/ProofUtil.d.ts.map +1 -0
- package/dist/functions/ProofUtil.js +103 -0
- package/dist/functions/ProofUtil.js.map +1 -0
- package/dist/functions/index.d.ts +4 -0
- package/dist/functions/index.d.ts.map +1 -0
- package/dist/{main/lib/functions → functions}/index.js +20 -20
- package/dist/functions/index.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/{main/lib/index.js → index.js} +25 -24
- package/dist/index.js.map +1 -0
- package/lib/AccessTokenClient.ts +270 -0
- package/lib/AuthorizationDetailsBuilder.ts +46 -0
- package/lib/CredentialOffer.ts +55 -0
- package/lib/CredentialRequestClient.ts +77 -0
- package/lib/CredentialRequestClientBuilderV1_0_09.ts +99 -0
- package/lib/MetadataClient.ts +147 -0
- package/lib/OpenID4VCIClient.ts +477 -0
- package/lib/ProofOfPossessionBuilder.ts +156 -0
- package/lib/__tests__/AccessTokenClient.spec.ts +221 -0
- package/lib/__tests__/AuthorizationDetailsBuilder.spec.ts +65 -0
- package/lib/__tests__/AuthzFlowType.spec.ts +39 -0
- package/lib/__tests__/CredentialRequestClient.spec.ts +261 -0
- package/lib/__tests__/CredentialRequestClientBuilder.spec.ts +103 -0
- package/lib/__tests__/HttpUtils.spec.ts +37 -0
- package/lib/__tests__/IT.spec.ts +155 -0
- package/lib/__tests__/IssuanceInitiation.spec.ts +37 -0
- package/lib/__tests__/JsonURIConversions.spec.ts +86 -0
- package/lib/__tests__/MetadataClient.spec.ts +198 -0
- package/lib/__tests__/MetadataMocks.ts +428 -0
- package/lib/__tests__/OpenID4VCIClient.spec.ts +166 -0
- package/lib/__tests__/OpenID4VCIClientPAR.spec.ts +112 -0
- package/lib/__tests__/ProofOfPossessionBuilder.spec.ts +109 -0
- package/lib/__tests__/data/VciDataFixtures.ts +744 -0
- package/lib/functions/Encoding.ts +138 -0
- package/lib/functions/HttpUtils.ts +106 -0
- package/lib/functions/ProofUtil.ts +128 -0
- package/{dist/main/lib/functions/index.d.ts → lib/functions/index.ts} +3 -3
- package/lib/index.ts +8 -0
- package/package.json +68 -71
- package/CHANGELOG.md +0 -21
- package/dist/main/index.d.ts +0 -1
- package/dist/main/index.js +0 -18
- package/dist/main/lib/AccessTokenClient.d.ts +0 -20
- package/dist/main/lib/AccessTokenClient.js +0 -141
- package/dist/main/lib/CredentialRequestClient.d.ts +0 -31
- package/dist/main/lib/CredentialRequestClient.js +0 -66
- package/dist/main/lib/CredentialRequestClientBuilder.d.ts +0 -21
- package/dist/main/lib/CredentialRequestClientBuilder.js +0 -56
- package/dist/main/lib/IssuanceInitiation.d.ts +0 -5
- package/dist/main/lib/IssuanceInitiation.js +0 -29
- package/dist/main/lib/MetadataClient.js +0 -127
- package/dist/main/lib/functions/Encoding.js +0 -138
- package/dist/main/lib/functions/HttpUtils.d.ts +0 -17
- package/dist/main/lib/functions/HttpUtils.js +0 -133
- package/dist/main/lib/functions/ProofUtil.d.ts +0 -9
- package/dist/main/lib/functions/ProofUtil.js +0 -76
- package/dist/main/lib/index.d.ts +0 -7
- package/dist/main/lib/types/Authorization.types.d.ts +0 -66
- package/dist/main/lib/types/Authorization.types.js +0 -35
- package/dist/main/lib/types/CredentialIssuance.types.d.ts +0 -88
- package/dist/main/lib/types/CredentialIssuance.types.js +0 -8
- package/dist/main/lib/types/Generic.types.d.ts +0 -19
- package/dist/main/lib/types/Generic.types.js +0 -11
- package/dist/main/lib/types/OAuth2ASMetadata.d.ts +0 -37
- package/dist/main/lib/types/OAuth2ASMetadata.js +0 -3
- package/dist/main/lib/types/OID4VCIServerMetadata.d.ts +0 -65
- package/dist/main/lib/types/OID4VCIServerMetadata.js +0 -3
- package/dist/main/lib/types/Oidc4vciErrors.d.ts +0 -3
- package/dist/main/lib/types/Oidc4vciErrors.js +0 -7
- package/dist/main/lib/types/index.d.ts +0 -6
- package/dist/main/lib/types/index.js +0 -23
- package/dist/main/tsconfig.build.tsbuildinfo +0 -1
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertURIToJsonObject = exports.convertJsonToURI = void 0;
|
|
4
|
-
const types_1 = require("../types");
|
|
5
|
-
/**
|
|
6
|
-
* @function encodeJsonAsURI encodes a Json object into a URI
|
|
7
|
-
* @param json object
|
|
8
|
-
* @param opts:
|
|
9
|
-
* - urlTypeProperties: a list of properties of which the value is a URL
|
|
10
|
-
* - arrayTypeProperties: a list of properties which are an array
|
|
11
|
-
*/
|
|
12
|
-
function convertJsonToURI(json, opts) {
|
|
13
|
-
var _a, _b;
|
|
14
|
-
if (typeof json === 'string') {
|
|
15
|
-
return convertJsonToURI(JSON.parse(json), opts);
|
|
16
|
-
}
|
|
17
|
-
const results = [];
|
|
18
|
-
function encodeAndStripWhitespace(key) {
|
|
19
|
-
return encodeURIComponent(key.replace(' ', ''));
|
|
20
|
-
}
|
|
21
|
-
for (const [key, value] of Object.entries(json)) {
|
|
22
|
-
if (!value) {
|
|
23
|
-
continue;
|
|
24
|
-
}
|
|
25
|
-
//Skip properties that are not of URL type
|
|
26
|
-
if (!((_a = opts === null || opts === void 0 ? void 0 : opts.uriTypeProperties) === null || _a === void 0 ? void 0 : _a.includes(key))) {
|
|
27
|
-
results.push(`${key}=${value}`);
|
|
28
|
-
continue;
|
|
29
|
-
}
|
|
30
|
-
if (((_b = opts === null || opts === void 0 ? void 0 : opts.arrayTypeProperties) === null || _b === void 0 ? void 0 : _b.includes(key)) && Array.isArray(value)) {
|
|
31
|
-
results.push(value.map((v) => `${encodeAndStripWhitespace(key)}=${customEncodeURIComponent(v, /\./g)}`).join('&'));
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
const isBool = typeof value == 'boolean';
|
|
35
|
-
const isNumber = typeof value == 'number';
|
|
36
|
-
const isString = typeof value == 'string';
|
|
37
|
-
let encoded;
|
|
38
|
-
if (isBool || isNumber) {
|
|
39
|
-
encoded = `${encodeAndStripWhitespace(key)}=${value}`;
|
|
40
|
-
}
|
|
41
|
-
else if (isString) {
|
|
42
|
-
encoded = `${encodeAndStripWhitespace(key)}=${customEncodeURIComponent(value, /\./g)}`;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
encoded = `${encodeAndStripWhitespace(key)}=${customEncodeURIComponent(JSON.stringify(value), /\./g)}`;
|
|
46
|
-
}
|
|
47
|
-
results.push(encoded);
|
|
48
|
-
}
|
|
49
|
-
const components = results.join('&');
|
|
50
|
-
if (opts === null || opts === void 0 ? void 0 : opts.baseUrl) {
|
|
51
|
-
return `${opts.baseUrl}?${components}`;
|
|
52
|
-
}
|
|
53
|
-
return components;
|
|
54
|
-
}
|
|
55
|
-
exports.convertJsonToURI = convertJsonToURI;
|
|
56
|
-
/**
|
|
57
|
-
* @function decodeUriAsJson decodes an URI into a Json object
|
|
58
|
-
* @param uri string
|
|
59
|
-
* @param opts:
|
|
60
|
-
* - requiredProperties: the required properties
|
|
61
|
-
* - arrayTypeProperties: properties that can show up more that once
|
|
62
|
-
*/
|
|
63
|
-
function convertURIToJsonObject(uri, opts) {
|
|
64
|
-
if (!uri || !(opts === null || opts === void 0 ? void 0 : opts.requiredProperties.every((p) => uri.includes(p)))) {
|
|
65
|
-
throw new Error(types_1.BAD_PARAMS);
|
|
66
|
-
}
|
|
67
|
-
const uriComponents = getURIComponentsAsArray(uri, opts === null || opts === void 0 ? void 0 : opts.arrayTypeProperties);
|
|
68
|
-
return decodeJsonProperties(uriComponents);
|
|
69
|
-
}
|
|
70
|
-
exports.convertURIToJsonObject = convertURIToJsonObject;
|
|
71
|
-
function decodeJsonProperties(parts) {
|
|
72
|
-
const json = {};
|
|
73
|
-
for (const key in parts) {
|
|
74
|
-
const value = parts[key];
|
|
75
|
-
if (!value) {
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
if (Array.isArray(value)) {
|
|
79
|
-
if (value.length > 1) {
|
|
80
|
-
json[decodeURIComponent(key)] = value.map((v) => decodeURIComponent(v));
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
json[decodeURIComponent(key)] = decodeURIComponent(value[0]);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
const isBool = typeof value == 'boolean';
|
|
87
|
-
const isNumber = typeof value == 'number';
|
|
88
|
-
const isString = typeof value == 'string';
|
|
89
|
-
if (isBool || isNumber) {
|
|
90
|
-
json[decodeURIComponent(key)] = value;
|
|
91
|
-
}
|
|
92
|
-
else if (isString) {
|
|
93
|
-
const decoded = decodeURIComponent(value);
|
|
94
|
-
if (decoded.startsWith('{') && decoded.endsWith('}')) {
|
|
95
|
-
json[decodeURIComponent(key)] = JSON.parse(decoded);
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
json[decodeURIComponent(key)] = decoded;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return json;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* @function get URI Components as Array
|
|
106
|
-
* @param uri string
|
|
107
|
-
* @param arrayType array of string containing array like keys
|
|
108
|
-
*/
|
|
109
|
-
function getURIComponentsAsArray(uri, arrayType) {
|
|
110
|
-
const parts = uri.includes('?') ? uri.split('?')[1] : uri.includes('://') ? uri.split('://')[1] : uri;
|
|
111
|
-
const json = [];
|
|
112
|
-
const dict = parts.split('&');
|
|
113
|
-
for (const entry of dict) {
|
|
114
|
-
const pair = entry.split('=');
|
|
115
|
-
if (arrayType === null || arrayType === void 0 ? void 0 : arrayType.includes(pair[0])) {
|
|
116
|
-
if (json[pair[0]] !== undefined) {
|
|
117
|
-
json[pair[0]].push(pair[1]);
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
json[pair[0]] = [pair[1]];
|
|
121
|
-
}
|
|
122
|
-
continue;
|
|
123
|
-
}
|
|
124
|
-
json[pair[0]] = pair[1];
|
|
125
|
-
}
|
|
126
|
-
return json;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* @function customEncodeURIComponent is used to encode chars that are not encoded by default
|
|
130
|
-
* @param searchValue The pattern/regexp to find the char(s) to be encoded
|
|
131
|
-
* @param uriComponent query string
|
|
132
|
-
*/
|
|
133
|
-
function customEncodeURIComponent(uriComponent, searchValue) {
|
|
134
|
-
// -_.!~*'() are not escaped because they are considered safe.
|
|
135
|
-
// Add them to the regex as you need
|
|
136
|
-
return encodeURIComponent(uriComponent).replace(searchValue, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5jb2RpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvZnVuY3Rpb25zL0VuY29kaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9DQUE2RjtBQUU3Rjs7Ozs7O0dBTUc7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxJQUFhLEVBQUUsSUFBMEI7O0lBQ3hFLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVCLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUNqRDtJQUNELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUVuQixTQUFTLHdCQUF3QixDQUFDLEdBQVc7UUFDM0MsT0FBTyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsU0FBUztTQUNWO1FBQ0QsMENBQTBDO1FBQzFDLElBQUksQ0FBQyxDQUFBLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGlCQUFpQiwwQ0FBRSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUEsRUFBRTtZQUMzQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDaEMsU0FBUztTQUNWO1FBQ0QsSUFBSSxDQUFBLE1BQUEsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLG1CQUFtQiwwQ0FBRSxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwRSxPQUFPLENB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
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export declare class NotFoundError extends Error {
|
|
2
|
-
constructor(message: string);
|
|
3
|
-
}
|
|
4
|
-
export declare function getJson<T>(URL: string): Promise<T>;
|
|
5
|
-
export declare function formPost(url: string, body: BodyInit, opts?: {
|
|
6
|
-
bearerToken?: string;
|
|
7
|
-
contentType?: string;
|
|
8
|
-
accept?: string;
|
|
9
|
-
customHeaders?: HeadersInit;
|
|
10
|
-
}): Promise<Response>;
|
|
11
|
-
export declare function post(url: string, body: BodyInit, opts?: {
|
|
12
|
-
bearerToken?: string;
|
|
13
|
-
contentType?: string;
|
|
14
|
-
accept?: string;
|
|
15
|
-
customHeaders?: HeadersInit;
|
|
16
|
-
}): Promise<Response>;
|
|
17
|
-
export declare function isValidURL(url: string): boolean;
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.isValidURL = exports.post = exports.formPost = exports.getJson = exports.NotFoundError = void 0;
|
|
16
|
-
const cross_fetch_1 = require("cross-fetch");
|
|
17
|
-
const debug_1 = __importDefault(require("debug"));
|
|
18
|
-
const types_1 = require("../types");
|
|
19
|
-
const debug = (0, debug_1.default)('sphereon:oid4vci:http');
|
|
20
|
-
class NotFoundError extends Error {
|
|
21
|
-
constructor(message) {
|
|
22
|
-
super(message);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
exports.NotFoundError = NotFoundError;
|
|
26
|
-
function getJson(URL) {
|
|
27
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
let message = '';
|
|
29
|
-
debug(`Fetching well-known URL: ${URL}`);
|
|
30
|
-
const response = yield (0, cross_fetch_1.fetch)(URL);
|
|
31
|
-
if (!response) {
|
|
32
|
-
message = 'no response returned';
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
if (response.status && response.status < 400) {
|
|
36
|
-
const json = yield response.json();
|
|
37
|
-
debug(`Well-knonw response: ${JSON.stringify(json, null, 2)}`);
|
|
38
|
-
return json;
|
|
39
|
-
}
|
|
40
|
-
else if (response.status === 404) {
|
|
41
|
-
throw new NotFoundError(`URL ${URL} was not found`);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
message = `${response.status}:${response.statusText}, ${yield response.text()}`;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
debug(`Well-known url ${URL} gave an error: ${message}`);
|
|
48
|
-
throw new Error('error: ' + message);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
exports.getJson = getJson;
|
|
52
|
-
function formPost(url, body, opts) {
|
|
53
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
return yield post(url, body, (opts === null || opts === void 0 ? void 0 : opts.contentType) ? Object.assign({}, opts) : Object.assign({ contentType: types_1.Encoding.FORM_URL_ENCODED }, opts));
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
exports.formPost = formPost;
|
|
58
|
-
function post(url, body, opts) {
|
|
59
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
let message = '';
|
|
61
|
-
const headers = (opts === null || opts === void 0 ? void 0 : opts.customHeaders) ? opts.customHeaders : [];
|
|
62
|
-
if (opts === null || opts === void 0 ? void 0 : opts.bearerToken) {
|
|
63
|
-
headers['Authorization'] = `Bearer ${opts.bearerToken}`;
|
|
64
|
-
}
|
|
65
|
-
headers['Content-Type'] = (opts === null || opts === void 0 ? void 0 : opts.contentType) ? opts.contentType : 'application/json';
|
|
66
|
-
headers['Accept'] = (opts === null || opts === void 0 ? void 0 : opts.accept) ? opts.accept : 'application/json';
|
|
67
|
-
const payload = {
|
|
68
|
-
method: 'POST',
|
|
69
|
-
headers,
|
|
70
|
-
body,
|
|
71
|
-
};
|
|
72
|
-
try {
|
|
73
|
-
// TODO: Remove the console.logs!
|
|
74
|
-
console.log(`START fetching url: ${url}`);
|
|
75
|
-
console.log('token (if any) and body:');
|
|
76
|
-
console.log('==========================');
|
|
77
|
-
console.log(opts.bearerToken);
|
|
78
|
-
console.log(JSON.stringify(body));
|
|
79
|
-
console.log('==========================');
|
|
80
|
-
console.log(`Headers: ${JSON.stringify(payload.headers)}`);
|
|
81
|
-
const response = yield (0, cross_fetch_1.fetch)(url, payload);
|
|
82
|
-
if (response && response.status >= 200 && response.status < 400) {
|
|
83
|
-
const logResponse = response.clone();
|
|
84
|
-
try {
|
|
85
|
-
debug(`Success response with status ${logResponse.status}. Headers: ${JSON.stringify(logResponse.headers)}`);
|
|
86
|
-
console.log(`Success response: ${yield logResponse.text()}`);
|
|
87
|
-
}
|
|
88
|
-
catch (error) {
|
|
89
|
-
console.log('success response did throw error: ' + error.message);
|
|
90
|
-
}
|
|
91
|
-
console.log(`END fetching url: ${url}`);
|
|
92
|
-
return response;
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
if (response) {
|
|
96
|
-
const logResponse = response.clone();
|
|
97
|
-
console.log(`Response with status ${logResponse.status} and status text ${logResponse.statusText} with headers ${JSON.stringify(logResponse.headers)})}`);
|
|
98
|
-
try {
|
|
99
|
-
message = `${logResponse.status}:${logResponse.statusText}, response: ${yield logResponse.text()}`;
|
|
100
|
-
}
|
|
101
|
-
catch (jsonerror) {
|
|
102
|
-
console.log(`accessing error body as json failed. ${jsonerror.message}`);
|
|
103
|
-
message = `${logResponse.status}:${logResponse.statusText}, ${yield logResponse.text()}`;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
console.log(`No response received for ${url}`);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
catch (error) {
|
|
112
|
-
const err = error;
|
|
113
|
-
console.log(`Error: ${JSON.stringify(err.stack)} ${error.message}`);
|
|
114
|
-
console.log(`END fetching url: ${url}`);
|
|
115
|
-
throw new Error(`${error.message}`);
|
|
116
|
-
}
|
|
117
|
-
console.log(`unexpected Error: ${JSON.stringify(message)}`);
|
|
118
|
-
console.log(`END fetching url: ${url}`);
|
|
119
|
-
throw new Error('unexpected error: ' + message);
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
exports.post = post;
|
|
123
|
-
function isValidURL(url) {
|
|
124
|
-
const urlPattern = new RegExp('^(https?:\\/\\/)?' + // validate protocol
|
|
125
|
-
'((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + // validate domain name
|
|
126
|
-
'((\\d{1,3}\\.){3}\\d{1,3}))' + // validate OR ip (v4) address
|
|
127
|
-
'(\\:\\d+)?(\\/[-a-z\\d%_.~+:]*)*' + // validate port and path
|
|
128
|
-
'(\\?[;&a-z\\d%_.~+=-]*)?' + // validate query string
|
|
129
|
-
'(\\#[-a-z\\d_]*)?$', 'i'); // validate fragment locator
|
|
130
|
-
return !!urlPattern.test(url);
|
|
131
|
-
}
|
|
132
|
-
exports.isValidURL = isValidURL;
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2Z1bmN0aW9ucy9IdHRwVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQW9DO0FBQ3BDLGtEQUEwQjtBQUUxQixvQ0FBb0M7QUFFcEMsTUFBTSxLQUFLLEdBQUcsSUFBQSxlQUFLLEVBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUU3QyxNQUFhLGFBQWMsU0FBUSxLQUFLO0lBQ3RDLFlBQVksT0FBZTtRQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztDQUNGO0FBSkQsc0NBSUM7QUFFRCxTQUFzQixPQUFPLENBQUksR0FBVzs7UUFDMUMsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBRWpCLEtBQUssQ0FBQyw0QkFBNEIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN6QyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsbUJBQUssRUFBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTyxHQUFHLHNCQUFzQixDQUFDO1NBQ2xDO2FBQU07WUFDTCxJQUFJLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7Z0JBQzVDLE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNuQyxLQUFLLENBQUMsd0JBQXdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQy9ELE9BQU8sSUFBUyxDQUFDO2FBQ2xCO2lCQUFNLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUU7Z0JBQ2xDLE1BQU0sSUFBSSxhQUFhLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLENBQUM7YUFDckQ7aUJBQU07Z0JBQ0wsT0FB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
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { ProofOfPossession, ProofOfPossessionOpts } from '../types';
|
|
2
|
-
/**
|
|
3
|
-
* createProofOfPossession creates and returns the ProofOfPossession object
|
|
4
|
-
* @param opts
|
|
5
|
-
* - jwtSignerArgs: The arguments to create the signature
|
|
6
|
-
* - jwtSignerCallback: function to sign the proof
|
|
7
|
-
* - jwtVerifyCallback: function to verify if JWT is valid
|
|
8
|
-
*/
|
|
9
|
-
export declare function createProofOfPossession(opts: ProofOfPossessionOpts): Promise<ProofOfPossession>;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.createProofOfPossession = void 0;
|
|
13
|
-
const types_1 = require("../types");
|
|
14
|
-
/**
|
|
15
|
-
* createProofOfPossession creates and returns the ProofOfPossession object
|
|
16
|
-
* @param opts
|
|
17
|
-
* - jwtSignerArgs: The arguments to create the signature
|
|
18
|
-
* - jwtSignerCallback: function to sign the proof
|
|
19
|
-
* - jwtVerifyCallback: function to verify if JWT is valid
|
|
20
|
-
*/
|
|
21
|
-
function createProofOfPossession(opts) {
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
if (!opts.jwtSignerCallback || !opts.jwtSignerArgs) {
|
|
24
|
-
throw new Error(types_1.BAD_PARAMS);
|
|
25
|
-
}
|
|
26
|
-
const signerArgs = setJWSDefaults(opts.jwtSignerArgs, opts.issuerURL, opts.clientId);
|
|
27
|
-
const jwt = yield opts.jwtSignerCallback(signerArgs);
|
|
28
|
-
try {
|
|
29
|
-
if (opts.jwtVerifyCallback) {
|
|
30
|
-
const algorithm = opts.jwtSignerArgs.header.alg;
|
|
31
|
-
yield opts.jwtVerifyCallback({ jws: jwt, key: opts.jwtSignerArgs.publicKey, algorithms: [algorithm] });
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
partiallyValidateJWS(jwt);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
catch (_a) {
|
|
38
|
-
throw new Error(types_1.JWS_NOT_VALID);
|
|
39
|
-
}
|
|
40
|
-
return {
|
|
41
|
-
proof_type: types_1.ProofType.JWT,
|
|
42
|
-
jwt,
|
|
43
|
-
};
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
exports.createProofOfPossession = createProofOfPossession;
|
|
47
|
-
function partiallyValidateJWS(jws) {
|
|
48
|
-
if (jws.split('.').length !== 3 || !jws.startsWith('ey')) {
|
|
49
|
-
throw new Error(types_1.JWS_NOT_VALID);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
function setJWSDefaults(args, issuerUrl, clientId) {
|
|
53
|
-
const now = +new Date();
|
|
54
|
-
const aud = args.payload.aud ? args.payload.aud : issuerUrl;
|
|
55
|
-
if (!aud) {
|
|
56
|
-
throw new Error('No issuer url provided');
|
|
57
|
-
}
|
|
58
|
-
const iss = args.payload.iss ? args.payload.iss : clientId;
|
|
59
|
-
if (!iss) {
|
|
60
|
-
throw new Error('No clientId provided');
|
|
61
|
-
}
|
|
62
|
-
const defaultPayload = {
|
|
63
|
-
aud,
|
|
64
|
-
iss,
|
|
65
|
-
iat: args.payload.iat ? args.payload.iat : now / 1000 - 60,
|
|
66
|
-
exp: args.payload.exp ? args.payload.exp : now / 1000 + 10 * 60,
|
|
67
|
-
};
|
|
68
|
-
const defaultHeader = {
|
|
69
|
-
alg: 'ES256',
|
|
70
|
-
typ: 'JWT',
|
|
71
|
-
};
|
|
72
|
-
args.payload = Object.assign(Object.assign({}, defaultPayload), args.payload);
|
|
73
|
-
args.header = Object.assign(Object.assign({}, defaultHeader), args.header);
|
|
74
|
-
return args;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvb2ZVdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL2Z1bmN0aW9ucy9Qcm9vZlV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsb0NBQWdKO0FBRWhKOzs7Ozs7R0FNRztBQUNILFNBQXNCLHVCQUF1QixDQUFDLElBQTJCOztRQUN2RSxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNsRCxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFVLENBQUMsQ0FBQztTQUM3QjtRQUNELE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JGLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELElBQUk7WUFDRixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDMUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2dCQUNoRCxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN4RztpQkFBTTtnQkFDTCxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMzQjtTQUNGO1FBQUMsV0FBTTtZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMscUJBQWEsQ0FBQyxDQUFDO1NBQ2hDO1FBQ0QsT0FBTztZQUNMLFVBQVUsRUFBRSxpQkFBUyxDQUFDLEdBQUc7WUFDekIsR0FBRztTQUNKLENBQUM7SUFDSixDQUFDO0NBQUE7QUFwQkQsMERBb0JDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxHQUFXO0lBQ3ZDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN4RCxNQUFNLElBQUksS0FBSyxDQUFDLHFCQUFhLENBQUMsQ0FBQztLQUNoQztBQUNILENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxJQUFtQixFQUFFLFNBQWlCLEVBQUUsUUFBaUI7SUFDL0UsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3hCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzVELElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUM7S0FDM0M7SUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUMzRCxJQUFJLENBQUMsR0FBRyxFQUFFO1FBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0tBQ3pDO0lBQ0QsTUFBTSxjQUFjLEdBQXdCO1FBQzFDLEdBQUc7UUFDSCxHQUFHO1FBQ0gsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFO1FBQzFELEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUU7S0FDaEUsQ0FBQztJQUNGLE1BQU0sYUFBYSxHQUFjO1FBQy9CLEdBQUcsRUFBRSxPQUFPO1FBQ1osR0FBRyxFQUFFLEtBQUs7S0FDWCxDQUFDO0lBQ0YsSUFBSSxDQUFDLE9BQU8sbUNBQVEsY0FBYyxHQUFLLElBQUksQ0FBQyxPQUFPLENBQUUsQ0FBQztJQUN0RCxJQUFJLENBQUMsTUFBTSxtQ0FBUSxhQUFhLEdBQUssSUFBSSxDQUFDLE1BQU0sQ0FBRSxDQUFDO0lBQ25ELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyJ9
|
package/dist/main/lib/index.d.ts
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { IssuanceInitiationRequestPayload } from './CredentialIssuance.types';
|
|
2
|
-
import { EndpointMetadata } from './Generic.types';
|
|
3
|
-
export declare enum GrantTypes {
|
|
4
|
-
AUTHORIZATION_CODE = "authorization_code",
|
|
5
|
-
PRE_AUTHORIZED_CODE = "urn:ietf:params:oauth:grant-type:pre-authorized_code",
|
|
6
|
-
PASSWORD = "password"
|
|
7
|
-
}
|
|
8
|
-
export declare enum Encoding {
|
|
9
|
-
FORM_URL_ENCODED = "application/x-www-form-urlencoded",
|
|
10
|
-
UTF_8 = "UTF-8"
|
|
11
|
-
}
|
|
12
|
-
export declare enum ResponseType {
|
|
13
|
-
AUTH_CODE = "code"
|
|
14
|
-
}
|
|
15
|
-
export interface AuthorizationServerOpts {
|
|
16
|
-
as?: string;
|
|
17
|
-
tokenEndpoint?: string;
|
|
18
|
-
clientId?: string;
|
|
19
|
-
}
|
|
20
|
-
export interface IssuerOpts {
|
|
21
|
-
issuer: string;
|
|
22
|
-
tokenEndpoint?: string;
|
|
23
|
-
fetchMetadata?: boolean;
|
|
24
|
-
}
|
|
25
|
-
export interface AccessTokenRequestOpts {
|
|
26
|
-
asOpts?: AuthorizationServerOpts;
|
|
27
|
-
metadata?: EndpointMetadata;
|
|
28
|
-
pin?: string;
|
|
29
|
-
}
|
|
30
|
-
export interface AuthorizationRequest {
|
|
31
|
-
response_type: ResponseType.AUTH_CODE;
|
|
32
|
-
client_id: string;
|
|
33
|
-
redirect_uri: string;
|
|
34
|
-
scope?: string;
|
|
35
|
-
}
|
|
36
|
-
export interface AuthorizationGrantResponse {
|
|
37
|
-
grant_type: string;
|
|
38
|
-
code: string;
|
|
39
|
-
scope?: string;
|
|
40
|
-
state?: string;
|
|
41
|
-
}
|
|
42
|
-
export interface AccessTokenRequest {
|
|
43
|
-
client_id?: string;
|
|
44
|
-
code_verifier?: string;
|
|
45
|
-
grant_type: GrantTypes;
|
|
46
|
-
'pre-authorized_code': string;
|
|
47
|
-
redirect_uri?: string;
|
|
48
|
-
scope?: string;
|
|
49
|
-
user_pin?: string;
|
|
50
|
-
}
|
|
51
|
-
export interface AccessTokenResponse {
|
|
52
|
-
access_token: string;
|
|
53
|
-
token_type?: string;
|
|
54
|
-
expires_in?: number;
|
|
55
|
-
c_nonce?: string;
|
|
56
|
-
c_nonce_expires_in?: number;
|
|
57
|
-
authorization_pending?: boolean;
|
|
58
|
-
interval?: number;
|
|
59
|
-
}
|
|
60
|
-
export declare enum AuthzFlowType {
|
|
61
|
-
AUTHORIZATION_CODE_FLOW = "Authorization Code Flow",
|
|
62
|
-
PRE_AUTHORIZED_CODE_FLOW = "Pre-Authorized Code Flow"
|
|
63
|
-
}
|
|
64
|
-
export declare namespace AuthzFlowType {
|
|
65
|
-
function valueOf(request: IssuanceInitiationRequestPayload): AuthzFlowType;
|
|
66
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AuthzFlowType = exports.ResponseType = exports.Encoding = exports.GrantTypes = void 0;
|
|
4
|
-
const Generic_types_1 = require("./Generic.types");
|
|
5
|
-
var GrantTypes;
|
|
6
|
-
(function (GrantTypes) {
|
|
7
|
-
GrantTypes["AUTHORIZATION_CODE"] = "authorization_code";
|
|
8
|
-
GrantTypes["PRE_AUTHORIZED_CODE"] = "urn:ietf:params:oauth:grant-type:pre-authorized_code";
|
|
9
|
-
GrantTypes["PASSWORD"] = "password";
|
|
10
|
-
})(GrantTypes = exports.GrantTypes || (exports.GrantTypes = {}));
|
|
11
|
-
var Encoding;
|
|
12
|
-
(function (Encoding) {
|
|
13
|
-
Encoding["FORM_URL_ENCODED"] = "application/x-www-form-urlencoded";
|
|
14
|
-
Encoding["UTF_8"] = "UTF-8";
|
|
15
|
-
})(Encoding = exports.Encoding || (exports.Encoding = {}));
|
|
16
|
-
var ResponseType;
|
|
17
|
-
(function (ResponseType) {
|
|
18
|
-
ResponseType["AUTH_CODE"] = "code";
|
|
19
|
-
})(ResponseType = exports.ResponseType || (exports.ResponseType = {}));
|
|
20
|
-
var AuthzFlowType;
|
|
21
|
-
(function (AuthzFlowType) {
|
|
22
|
-
AuthzFlowType["AUTHORIZATION_CODE_FLOW"] = "Authorization Code Flow";
|
|
23
|
-
AuthzFlowType["PRE_AUTHORIZED_CODE_FLOW"] = "Pre-Authorized Code Flow";
|
|
24
|
-
})(AuthzFlowType = exports.AuthzFlowType || (exports.AuthzFlowType = {}));
|
|
25
|
-
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
26
|
-
(function (AuthzFlowType) {
|
|
27
|
-
function valueOf(request) {
|
|
28
|
-
if (request[Generic_types_1.PRE_AUTH_CODE_LITERAL]) {
|
|
29
|
-
return AuthzFlowType.PRE_AUTHORIZED_CODE_FLOW;
|
|
30
|
-
}
|
|
31
|
-
return AuthzFlowType.AUTHORIZATION_CODE_FLOW;
|
|
32
|
-
}
|
|
33
|
-
AuthzFlowType.valueOf = valueOf;
|
|
34
|
-
})(AuthzFlowType = exports.AuthzFlowType || (exports.AuthzFlowType = {}));
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXV0aG9yaXphdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi90eXBlcy9BdXRob3JpemF0aW9uLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1EQUEwRTtBQUUxRSxJQUFZLFVBSVg7QUFKRCxXQUFZLFVBQVU7SUFDcEIsdURBQXlDLENBQUE7SUFDekMsMEZBQTRFLENBQUE7SUFDNUUsbUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUpXLFVBQVUsR0FBVixrQkFBVSxLQUFWLGtCQUFVLFFBSXJCO0FBRUQsSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2xCLGtFQUFzRCxDQUFBO0lBQ3RELDJCQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLFFBQVEsR0FBUixnQkFBUSxLQUFSLGdCQUFRLFFBR25CO0FBRUQsSUFBWSxZQUVYO0FBRkQsV0FBWSxZQUFZO0lBQ3RCLGtDQUFrQixDQUFBO0FBQ3BCLENBQUMsRUFGVyxZQUFZLEdBQVosb0JBQVksS0FBWixvQkFBWSxRQUV2QjtBQXNERCxJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIsb0VBQW1ELENBQUE7SUFDbkQsc0VBQXFELENBQUE7QUFDdkQsQ0FBQyxFQUhXLGFBQWEsR0FBYixxQkFBYSxLQUFiLHFCQUFhLFFBR3hCO0FBRUQsMkRBQTJEO0FBQzNELFdBQWlCLGFBQWE7SUFDNUIsU0FBZ0IsT0FBTyxDQUFDLE9BQXlDO1FBQy9ELElBQUksT0FBTyxDQUFDLHFDQUFxQixDQUFDLEVBQUU7WUFDbEMsT0FBTyxhQUFhLENBQUMsd0JBQXdCLENBQUM7U0FDL0M7UUFDRCxPQUFPLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQztJQUMvQyxDQUFDO0lBTGUscUJBQU8sVUFLdEIsQ0FBQTtBQUNILENBQUMsRUFQZ0IsYUFBYSxHQUFiLHFCQUFhLEtBQWIscUJBQWEsUUFPN0IifQ==
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { KeyObject } from 'crypto';
|
|
3
|
-
import { CredentialFormat, W3CVerifiableCredential } from '@sphereon/ssi-types';
|
|
4
|
-
export interface CredentialRequest {
|
|
5
|
-
type: string | string[];
|
|
6
|
-
format: CredentialFormat | CredentialFormat[];
|
|
7
|
-
proof: ProofOfPossession;
|
|
8
|
-
}
|
|
9
|
-
export interface CredentialResponse {
|
|
10
|
-
credential: W3CVerifiableCredential;
|
|
11
|
-
format: CredentialFormat;
|
|
12
|
-
}
|
|
13
|
-
export interface IssuanceInitiationWithBaseUrl {
|
|
14
|
-
baseUrl: string;
|
|
15
|
-
issuanceInitiationRequest: IssuanceInitiationRequestPayload;
|
|
16
|
-
}
|
|
17
|
-
export interface IssuanceInitiationRequestPayload {
|
|
18
|
-
issuer: string;
|
|
19
|
-
credential_type: string[] | string;
|
|
20
|
-
'pre-authorized_code'?: string;
|
|
21
|
-
user_pin_required?: boolean | string;
|
|
22
|
-
op_state?: string;
|
|
23
|
-
}
|
|
24
|
-
export declare enum ProofType {
|
|
25
|
-
JWT = "jwt"
|
|
26
|
-
}
|
|
27
|
-
export interface ProofOfPossession {
|
|
28
|
-
proof_type: ProofType;
|
|
29
|
-
jwt: string;
|
|
30
|
-
[x: string]: unknown;
|
|
31
|
-
}
|
|
32
|
-
export declare type SearchValue = {
|
|
33
|
-
[Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
|
|
34
|
-
};
|
|
35
|
-
export declare type EncodeJsonAsURIOpts = {
|
|
36
|
-
uriTypeProperties?: string[];
|
|
37
|
-
arrayTypeProperties?: string[];
|
|
38
|
-
baseUrl?: string;
|
|
39
|
-
};
|
|
40
|
-
export declare type DecodeURIAsJsonOpts = {
|
|
41
|
-
requiredProperties?: string[];
|
|
42
|
-
arrayTypeProperties?: string[];
|
|
43
|
-
};
|
|
44
|
-
export interface JWK {
|
|
45
|
-
kty?: string;
|
|
46
|
-
crv?: string;
|
|
47
|
-
x?: string;
|
|
48
|
-
y?: string;
|
|
49
|
-
e?: string;
|
|
50
|
-
n?: string;
|
|
51
|
-
}
|
|
52
|
-
export declare type Alg = 'ES256' | 'EdDSA';
|
|
53
|
-
export interface JWTHeader {
|
|
54
|
-
alg: Alg;
|
|
55
|
-
typ?: string;
|
|
56
|
-
kid?: string;
|
|
57
|
-
jwk?: JWK;
|
|
58
|
-
x5c?: string[];
|
|
59
|
-
}
|
|
60
|
-
export interface JWTPayload {
|
|
61
|
-
iss?: string;
|
|
62
|
-
aud?: string;
|
|
63
|
-
iat?: number;
|
|
64
|
-
nonce?: string;
|
|
65
|
-
jti: string;
|
|
66
|
-
exp?: number;
|
|
67
|
-
}
|
|
68
|
-
export interface JWTSignerArgs {
|
|
69
|
-
header: JWTHeader;
|
|
70
|
-
payload: JWTPayload;
|
|
71
|
-
privateKey: KeyObject;
|
|
72
|
-
publicKey: KeyObject;
|
|
73
|
-
}
|
|
74
|
-
export interface JWTVerifyArgs {
|
|
75
|
-
jws: string;
|
|
76
|
-
key: KeyObject;
|
|
77
|
-
algorithms?: Alg[];
|
|
78
|
-
}
|
|
79
|
-
export interface ProofOfPossessionOpts {
|
|
80
|
-
issuerURL?: string;
|
|
81
|
-
clientId?: string;
|
|
82
|
-
jwtSignerArgs: JWTSignerArgs;
|
|
83
|
-
jwtSignerCallback: JWTSignerCallback;
|
|
84
|
-
jwtVerifyCallback?: JWTVerifyCallback;
|
|
85
|
-
}
|
|
86
|
-
export declare type JWTSignerCallback = (args: JWTSignerArgs) => Promise<string>;
|
|
87
|
-
export declare type JWTVerifyCallback = (args: JWTVerifyArgs) => Promise<void>;
|
|
88
|
-
export declare type Request = CredentialRequest;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ProofType = void 0;
|
|
4
|
-
var ProofType;
|
|
5
|
-
(function (ProofType) {
|
|
6
|
-
ProofType["JWT"] = "jwt";
|
|
7
|
-
})(ProofType = exports.ProofType || (exports.ProofType = {}));
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3JlZGVudGlhbElzc3VhbmNlLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL3R5cGVzL0NyZWRlbnRpYWxJc3N1YW5jZS50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUE4QkEsSUFBWSxTQUVYO0FBRkQsV0FBWSxTQUFTO0lBQ25CLHdCQUFXLENBQUE7QUFDYixDQUFDLEVBRlcsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFFcEIifQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { OID4VCIServerMetadata } from './OID4VCIServerMetadata';
|
|
2
|
-
export interface ErrorResponse extends Response {
|
|
3
|
-
error: string;
|
|
4
|
-
error_description?: string;
|
|
5
|
-
error_uri?: string;
|
|
6
|
-
state?: string;
|
|
7
|
-
}
|
|
8
|
-
export declare const PRE_AUTH_CODE_LITERAL = "pre-authorized_code";
|
|
9
|
-
export declare enum WellKnownEndpoints {
|
|
10
|
-
OIDC_CONFIGURATION = "/.well-known/openid-configuration",
|
|
11
|
-
OAUTH_AS = "/.well-known/oauth-authorization-server",
|
|
12
|
-
OIDC4VCI = "/.well-known/openid-credential-issuer"
|
|
13
|
-
}
|
|
14
|
-
export interface EndpointMetadata {
|
|
15
|
-
issuer: string;
|
|
16
|
-
token_endpoint: string;
|
|
17
|
-
credential_endpoint: string;
|
|
18
|
-
oid4vci_metadata?: OID4VCIServerMetadata;
|
|
19
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WellKnownEndpoints = exports.PRE_AUTH_CODE_LITERAL = void 0;
|
|
4
|
-
exports.PRE_AUTH_CODE_LITERAL = 'pre-authorized_code';
|
|
5
|
-
var WellKnownEndpoints;
|
|
6
|
-
(function (WellKnownEndpoints) {
|
|
7
|
-
WellKnownEndpoints["OIDC_CONFIGURATION"] = "/.well-known/openid-configuration";
|
|
8
|
-
WellKnownEndpoints["OAUTH_AS"] = "/.well-known/oauth-authorization-server";
|
|
9
|
-
WellKnownEndpoints["OIDC4VCI"] = "/.well-known/openid-credential-issuer";
|
|
10
|
-
})(WellKnownEndpoints = exports.WellKnownEndpoints || (exports.WellKnownEndpoints = {}));
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2VuZXJpYy50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi90eXBlcy9HZW5lcmljLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVNhLFFBQUEscUJBQXFCLEdBQUcscUJBQXFCLENBQUM7QUFFM0QsSUFBWSxrQkFJWDtBQUpELFdBQVksa0JBQWtCO0lBQzVCLDhFQUF3RCxDQUFBO0lBQ3hELDBFQUFvRCxDQUFBO0lBQ3BELHdFQUFrRCxDQUFBO0FBQ3BELENBQUMsRUFKVyxrQkFBa0IsR0FBbEIsMEJBQWtCLEtBQWxCLDBCQUFrQixRQUk3QiJ9
|