Compare commits

..

2 commits

Author SHA1 Message Date
fenris 8163a12a68 [upd] plankton 2025-10-07 09:33:10 +02:00
fenris f5963c3553 [sty] 2025-10-06 21:42:50 +02:00
3 changed files with 43 additions and 15 deletions

View file

@ -586,6 +586,10 @@ declare namespace lib_plankton.call {
* @author fenris
*/
export function timeout(procedure: (() => void), delay_in_seconds: float): int;
/**
* @author fenris
*/
export function loop(procedure: (() => void), delay_in_seconds: float): int;
/**
* Promise version of "setTimeout"
*
@ -4591,6 +4595,7 @@ declare namespace lib_plankton.auth.oidc {
*/
type type_userinfo = {
name: (null | string);
label: (null | string);
email: (null | string);
};
/**

View file

@ -1331,6 +1331,14 @@ var lib_plankton;
/*window.*/ setTimeout(procedure, Math.floor(delay_in_seconds * 1000)));
}
call.timeout = timeout;
/**
* @author fenris
*/
function loop(procedure, delay_in_seconds) {
return (
/*window.*/ setInterval(procedure, Math.floor(delay_in_seconds * 1000)));
}
call.loop = loop;
/**
* Promise version of "setTimeout"
*
@ -16154,7 +16162,8 @@ var lib_plankton;
});
const data = lib_plankton.json.decode(http_response.body.toString());
return Promise.resolve({
"name": (data["name"] ?? null),
"name": (data["preferred_username"] ?? null),
"label": (data["name"] ?? null),
"email": (data["email"] ?? null),
});
}

View file

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