- multistreaming (new): RTMP ingest + multi-platform fan-out with pluggable providers (Twitch/YouTube/Kick/custom), zero-knowledge key vaults, Authelia OIDC auth, shared rooms with editor/streamer roles, single-use invites, per-account streaming grants, and scenes & composition (grid/PiP layouts, text/image overlays, per-output audio routing). - installer: support Dockerfile build in metadata (not just image) and RSA key generation for the Authelia OIDC JWKS. - authelia: add OIDC provider with portainer + multistreaming clients (public + PKCE). - services: remove allprox; add nginx-proxy-manager and portainer; update lldap; regenerate catalog.
21 lines
613 B
JavaScript
21 lines
613 B
JavaScript
'use strict';
|
|
|
|
const assert = require('node:assert/strict');
|
|
const test = require('node:test');
|
|
const { randomToken, pkceChallenge } = require('../src/oidc');
|
|
|
|
test('PKCE S256 challenge is deterministic and 43 chars (base64url SHA-256)', () => {
|
|
const verifier = 'abc123';
|
|
const c1 = pkceChallenge(verifier);
|
|
const c2 = pkceChallenge(verifier);
|
|
assert.equal(c1, c2);
|
|
assert.equal(c1.length, 43);
|
|
assert.notEqual(c1, verifier);
|
|
});
|
|
|
|
test('random tokens are unique and long enough', () => {
|
|
const a = randomToken();
|
|
const b = randomToken();
|
|
assert.notEqual(a, b);
|
|
assert.ok(a.length >= 43);
|
|
});
|