[sty]
This commit is contained in:
parent
243f1bb155
commit
f5963c3553
|
|
@ -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;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue