@ever-works/oidc-identity 1.0.0 → 1.0.2
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.
|
@@ -408,7 +408,10 @@ var FakeOidcProvider = class _FakeOidcProvider {
|
|
|
408
408
|
return sendJson(response, 404, { error: "not_found" });
|
|
409
409
|
}
|
|
410
410
|
} catch (error) {
|
|
411
|
-
return sendJson(response, 500, {
|
|
411
|
+
return sendJson(response, 500, {
|
|
412
|
+
error: "fake_provider_error",
|
|
413
|
+
error_description: errorDescription(error)
|
|
414
|
+
});
|
|
412
415
|
}
|
|
413
416
|
}
|
|
414
417
|
/** §10.4's "authorize (auto-approve a configured user)", with S256 required. */
|
|
@@ -474,7 +477,7 @@ var FakeOidcProvider = class _FakeOidcProvider {
|
|
|
474
477
|
}
|
|
475
478
|
void this.tokensFor(stored.nonce, stored.scope).then(
|
|
476
479
|
(tokens) => sendJson(response, 200, tokens),
|
|
477
|
-
(error) => sendJson(response, 500, { error: "server_error", error_description:
|
|
480
|
+
(error) => sendJson(response, 500, { error: "server_error", error_description: errorDescription(error) })
|
|
478
481
|
);
|
|
479
482
|
}
|
|
480
483
|
handleDeviceCodeGrant(form, response) {
|
|
@@ -497,7 +500,7 @@ var FakeOidcProvider = class _FakeOidcProvider {
|
|
|
497
500
|
const authorizedParty = this.isLocalClient(grant.clientId) ? grant.clientId : this.clientId;
|
|
498
501
|
void this.tokensFor(null, grant.scope, authorizedParty).then(
|
|
499
502
|
(tokens) => sendJson(response, 200, tokens),
|
|
500
|
-
(error) => sendJson(response, 500, { error: "server_error", error_description:
|
|
503
|
+
(error) => sendJson(response, 500, { error: "server_error", error_description: errorDescription(error) })
|
|
501
504
|
);
|
|
502
505
|
}
|
|
503
506
|
/** RFC 8628 §3.2's device authorization response. */
|
|
@@ -616,14 +619,16 @@ function randomId(prefix) {
|
|
|
616
619
|
}
|
|
617
620
|
function randomUserCode() {
|
|
618
621
|
const alphabet = "BCDFGHJKLMNPQRSTVWXZ";
|
|
619
|
-
const bytes = (0, import_node_crypto.randomBytes)(8);
|
|
620
622
|
let code = "";
|
|
621
623
|
for (let index = 0; index < 8; index += 1) {
|
|
622
624
|
if (index === 4) code += "-";
|
|
623
|
-
code += alphabet[
|
|
625
|
+
code += alphabet[(0, import_node_crypto.randomInt)(alphabet.length)];
|
|
624
626
|
}
|
|
625
627
|
return code;
|
|
626
628
|
}
|
|
629
|
+
function errorDescription(error) {
|
|
630
|
+
return error instanceof Error ? error.message : "unexpected fake provider failure";
|
|
631
|
+
}
|
|
627
632
|
function sendJson(response, status, body) {
|
|
628
633
|
const payload = JSON.stringify(body);
|
|
629
634
|
response.writeHead(status, {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/testing/fake-oidc-provider.ts
|
|
2
|
-
import { createHash, createSign, generateKeyPairSync, randomBytes } from "crypto";
|
|
2
|
+
import { createHash, createSign, generateKeyPairSync, randomBytes, randomInt } from "crypto";
|
|
3
3
|
import { createServer } from "http";
|
|
4
4
|
var FAKE_BACKCHANNEL_LOGOUT_EVENT = "http://schemas.openid.net/event/backchannel-logout";
|
|
5
5
|
var FAKE_DEFAULT_LOCAL_CLIENT_ID = "ever-works-cli";
|
|
@@ -380,7 +380,10 @@ var FakeOidcProvider = class _FakeOidcProvider {
|
|
|
380
380
|
return sendJson(response, 404, { error: "not_found" });
|
|
381
381
|
}
|
|
382
382
|
} catch (error) {
|
|
383
|
-
return sendJson(response, 500, {
|
|
383
|
+
return sendJson(response, 500, {
|
|
384
|
+
error: "fake_provider_error",
|
|
385
|
+
error_description: errorDescription(error)
|
|
386
|
+
});
|
|
384
387
|
}
|
|
385
388
|
}
|
|
386
389
|
/** §10.4's "authorize (auto-approve a configured user)", with S256 required. */
|
|
@@ -446,7 +449,7 @@ var FakeOidcProvider = class _FakeOidcProvider {
|
|
|
446
449
|
}
|
|
447
450
|
void this.tokensFor(stored.nonce, stored.scope).then(
|
|
448
451
|
(tokens) => sendJson(response, 200, tokens),
|
|
449
|
-
(error) => sendJson(response, 500, { error: "server_error", error_description:
|
|
452
|
+
(error) => sendJson(response, 500, { error: "server_error", error_description: errorDescription(error) })
|
|
450
453
|
);
|
|
451
454
|
}
|
|
452
455
|
handleDeviceCodeGrant(form, response) {
|
|
@@ -469,7 +472,7 @@ var FakeOidcProvider = class _FakeOidcProvider {
|
|
|
469
472
|
const authorizedParty = this.isLocalClient(grant.clientId) ? grant.clientId : this.clientId;
|
|
470
473
|
void this.tokensFor(null, grant.scope, authorizedParty).then(
|
|
471
474
|
(tokens) => sendJson(response, 200, tokens),
|
|
472
|
-
(error) => sendJson(response, 500, { error: "server_error", error_description:
|
|
475
|
+
(error) => sendJson(response, 500, { error: "server_error", error_description: errorDescription(error) })
|
|
473
476
|
);
|
|
474
477
|
}
|
|
475
478
|
/** RFC 8628 §3.2's device authorization response. */
|
|
@@ -588,14 +591,16 @@ function randomId(prefix) {
|
|
|
588
591
|
}
|
|
589
592
|
function randomUserCode() {
|
|
590
593
|
const alphabet = "BCDFGHJKLMNPQRSTVWXZ";
|
|
591
|
-
const bytes = randomBytes(8);
|
|
592
594
|
let code = "";
|
|
593
595
|
for (let index = 0; index < 8; index += 1) {
|
|
594
596
|
if (index === 4) code += "-";
|
|
595
|
-
code += alphabet[
|
|
597
|
+
code += alphabet[randomInt(alphabet.length)];
|
|
596
598
|
}
|
|
597
599
|
return code;
|
|
598
600
|
}
|
|
601
|
+
function errorDescription(error) {
|
|
602
|
+
return error instanceof Error ? error.message : "unexpected fake provider failure";
|
|
603
|
+
}
|
|
599
604
|
function sendJson(response, status, body) {
|
|
600
605
|
const payload = JSON.stringify(body);
|
|
601
606
|
response.writeHead(status, {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ever-works/oidc-identity",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "OpenID Connect identity provider plugin (Ever ID) for Ever Works",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Ever Co. LTD",
|
|
@@ -38,15 +38,15 @@
|
|
|
38
38
|
"test:coverage": "vitest run --coverage"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
|
-
"@ever-works/plugin": "^1.2.
|
|
41
|
+
"@ever-works/plugin": "^1.2.3"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
44
|
"jose": "^6",
|
|
45
45
|
"openid-client": "^6"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@ever-works/plugin": "^1.2.
|
|
49
|
-
"@types/node": "^
|
|
48
|
+
"@ever-works/plugin": "^1.2.3",
|
|
49
|
+
"@types/node": "^26.6.4",
|
|
50
50
|
"ajv": "^8.18.0",
|
|
51
51
|
"ajv-formats": "^3.0.1",
|
|
52
52
|
"tsup": "^8.0.0",
|
|
@@ -81,8 +81,8 @@
|
|
|
81
81
|
"url": "https://github.com/ever-works/ever-works/issues"
|
|
82
82
|
},
|
|
83
83
|
"everworksRelease": {
|
|
84
|
-
"contentHash": "sha256:
|
|
85
|
-
"commit": "
|
|
86
|
-
"source": "https://github.com/ever-works/ever-works/tree/
|
|
84
|
+
"contentHash": "sha256:552140351eaaf6816279d379bc870b24c4f112caf37ec7868700970d48f658b0",
|
|
85
|
+
"commit": "32c8673882bba70458ac7c38f17f49a608e856a0",
|
|
86
|
+
"source": "https://github.com/ever-works/ever-works/tree/32c8673882bba70458ac7c38f17f49a608e856a0/packages/plugins/oidc-identity"
|
|
87
87
|
}
|
|
88
88
|
}
|