This commit is contained in:
fenris 2025-10-06 21:42:50 +02:00
parent 243f1bb155
commit f5963c3553

View file

@ -52,10 +52,12 @@ namespace _zeitbild.auth
key : string key : string
) : string ) : string
{ {
if (_oidc_redict_uri_template_map === null) { if (_oidc_redict_uri_template_map === null)
{
throw (new Error("apparently not initialized yet")); throw (new Error("apparently not initialized yet"));
} }
else { else
{
return _oidc_redict_uri_template_map.get(key); return _oidc_redict_uri_template_map.get(key);
} }
} }
@ -67,7 +69,8 @@ namespace _zeitbild.auth
) : Promise<void> ) : Promise<void>
{ {
switch (_zeitbild.conf.get().authentication.kind) { switch (_zeitbild.conf.get().authentication.kind) {
case "internal": { case "internal":
{
_subject = lib_plankton.auth.internal.implementation_auth( _subject = lib_plankton.auth.internal.implementation_auth(
{ {
"password_image_chest": { "password_image_chest": {
@ -83,7 +86,8 @@ namespace _zeitbild.auth
); );
break; break;
} }
case "oidc": { case "oidc":
{
_subject_oidc = lib_plankton.auth.oidc.make( _subject_oidc = lib_plankton.auth.oidc.make(
{ {
"url_authorization": _zeitbild.conf.get().authentication.data.url_authorization, "url_authorization": _zeitbild.conf.get().authentication.data.url_authorization,
@ -108,7 +112,8 @@ namespace _zeitbild.auth
return Promise.resolve(undefined); return Promise.resolve(undefined);
break; break;
} }
default: { default:
{
// do nothing // do nothing
break; break;
} }
@ -123,12 +128,16 @@ namespace _zeitbild.auth
input : any input : any
) : Promise<{kind : string; data : any;}> ) : Promise<{kind : string; data : any;}>
{ {
switch (_zeitbild.conf.get().authentication.kind) { switch (_zeitbild.conf.get().authentication.kind)
case "oidc": { {
if ((_subject_oidc === null) || (_oidc_redict_uri_template_map === null)) { case "oidc":
{
if ((_subject_oidc === null) || (_oidc_redict_uri_template_map === null))
{
throw (new Error("not initialized yet")); throw (new Error("not initialized yet"));
} }
else { else
{
const stuff : {state : string; authorization_url : string;} = lib_plankton.auth.oidc.prepare_login(_subject_oidc); const stuff : {state : string; authorization_url : string;} = lib_plankton.auth.oidc.prepare_login(_subject_oidc);
_oidc_redict_uri_template_map.set( _oidc_redict_uri_template_map.set(
stuff.state, stuff.state,
@ -146,11 +155,14 @@ namespace _zeitbild.auth
} }
break; break;
} }
default: { default:
if (_subject === null) { {
if (_subject === null)
{
return Promise.reject(new Error("not initialized yet")); return Promise.reject(new Error("not initialized yet"));
} }
else { else
{
return ( return (
_subject.login_prepare() _subject.login_prepare()
.then( .then(
@ -183,10 +195,12 @@ namespace _zeitbild.auth
} }
> >
{ {
if ((_subject_oidc === null) || (_oidc_redict_uri_template_map === null)) { if ((_subject_oidc === null) || (_oidc_redict_uri_template_map === null))
{
throw (new Error("not initialized yet")); throw (new Error("not initialized yet"));
} }
else { else
{
const state : string = data["state"]; const state : string = data["state"];
const result : { const result : {
token : string; token : string;