OIDC Problem bei einem Addon / Verständnisproblem

Hallo zusammen,

ich benötige bitte etwas Hilfe.
Ich versuche ein Addon zu erstellen mit dem Namen Linkwarden. Ich habe es so weit fertig, aber ich komme einfach bei dem OICD Code einfach nicht weiter. Das ist ne Nummer zu hoch für mich. Ich habe mir schon paar Addons angeschaut wo die OIDC Einstellungen genutzt werden. Ich habe für mein Plugin alle Einträge aus der Dokumentation von libre-workspace eingesetzt.
Sieht so aus bei mir:

# Register linkwarden with oidc provider
CLIENT_ID=$(libre-workspace-generate-secret 8)
CLIENT_SECRET=$(libre-workspace-generate-secret 32)
# Add the oidc client to the oidc provider
libre-workspace-add-oidc-client  "Linkwarden" "$CLIENT_ID" "$CLIENT_SECRET" "https://linkwarden.$DOMAIN/api/auth/callback/oidc"

# Write .env File
echo "
#OIDC Settings
AUTH_METHOD=oidc
AUTH_AUTO_INITIATE=true
OIDC_NAME="OIDC"
OIDC_DISPLAY_NAME_CLAIMS=linkwarden
OIDC_CLIENT_ID=$CLIENT_ID
OIDC_CLIENT_SECRET=$CLIENT_SECRET
OIDC_ISSUER=https://portal.$DOMAIN/openid
OIDC_WELL_KNOWN_URL=https://portal.$DOMAIN/openid/.well-known/openid-configuration
OIDC_END_SESSION_ENDPOINT=true
OIDC_ISSUER_DISCOVER=true
OIDC_USER_TO_GROUPS=true
OIDC_GROUPS_CLAIM=groups
OIDC_ADDITIONAL_SCOPES=groups
OIDC_REMOVE_FROM_GROUPS=true
" > /root/linkwarden/.env

So funktioniert es aber nicht. Es wäre super, wenn es mal einer erklären könnte, wie man das genau macht, dass es funktioniert. In zwei anderen Addons ist es so hinterlegt.

Das war im Addon von Homarr enthalten:

# Register homarr with oidc provider
CLIENT_ID=$(libre-workspace-generate-secret 8)
CLIENT_SECRET=$(libre-workspace-generate-secret 32)
# Add the oidc client to the oidc provider
libre-workspace-add-oidc-client  "Homarr" "$CLIENT_ID" "$CLIENT_SECRET" "https://homarr.$DOMAIN/api/auth/callback/oidc"

# Write .env File
echo "
#Homarr environment
SECRET_ENCRYPTION_KEY=$SECRET_ENCRYPTION_KEY
D_PATH=$DATA_PATH

#OIDC Settings
AUTH_PROVIDERS=oidc
AUTH_OIDC_CLIENT_ID=$CLIENT_ID
AUTH_OIDC_CLIENT_SECRET=$CLIENT_SECRET
AUTH_OIDC_ISSUER=https://portal.$DOMAIN/openid
AUTH_OIDC_CLIENT_NAME="OIDC"
AUTH_OIDC_SCOPE_OVERWRITE=openid email profile groups
AUTH_OIDC_GROUPS_ATTRIBUTE=groups
AUTH_LOGOUT_REDIRECT_URL=https://portal.$DOMAIN
AUTH_OIDC_AUTO_LOGIN=true
" > /root/homarr/.env

Und so wäre es in Tinyauth:

# Register tinyauth with oidc provider
CLIENT_ID=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 8 | head -n 1)
CLIENT_SECRET=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
# Add the oidc client to the oidc provider
libre-workspace-add-oidc-client  "TinyAuth" "$CLIENT_ID" "$CLIENT_SECRET" "https://tinyauth.$DOMAIN/api/oauth/callback/oidc"

# Write .env File
echo "
#TiyAuth environment
TZ=${TZ_HOST}
APP_URL=https://tinyauth.$DOMAIN
PROVIDERS_OIDC_CLIENT_ID=$CLIENT_ID
PROVIDERS_OIDC_CLIENT_SECRET=$CLIENT_SECRET
PROVIDERS_OIDC_AUTH_URL=https://portal.$DOMAIN/openid/authorize
PROVIDERS_OIDC_TOKEN_URL=https://portal.$DOMAIN/openid/token
PROVIDERS_OIDC_USER_INFO_URL=https://portal.$DOMAIN/openid/userinfo
PROVIDERS_OIDC_REDIRECT_URL=https://tinyauth.$DOMAIN/api/oauth/callback/oidc
PROVIDERS_OIDC_SCOPES=openid email profile groups
PROVIDERS_OIDC_NAME=oidc
D_PATH=$VDP

" > /root/tinyauth/.env

Ich habe alles mal ausprobiert, aber kann mich nicht einloggen. Ich habe extra eine Test Umgebung dafür wo nur der Administrator Account läuft. Sind keine Benutzer dort angelegt.

Von Linkwarden gibt es diese Webseite wo man die Einträge für OIDC einsehen kann.

Kann mir bitte einer Erklären auf was ich Achten muss und welche Zeilen Code relevant sind. Ich steige bei OIDC einfach nicht dahinter.

Danke Euch

Gruß

Hoschy

Ich habe jetzt wieder einiges Versucht um es hinzubekommen.

# Register linkwarden with oidc provider
CLIENT_ID=$(libre-workspace-generate-secret 8)
CLIENT_SECRET=$(libre-workspace-generate-secret 32)
# Add the oidc client to the oidc provider
libre-workspace-add-oidc-client  "Linkwarden" "$CLIENT_ID" "$CLIENT_SECRET" "https://linkwarden.$DOMAIN/api/auth/callback/oidc"

# Write .env File
echo "
#OIDC Settings
AUTH_METHOD=oidc
NEXT_PUBLIC_OIDC_ENABLED=true
OIDC_WELLKNOWN_URL=https://portal.$DOMAIN/openid/.well-known/openid-configuration
OIDC_ISSUER=https://portal.$DOMAIN/openid
OIDC_REDIRECT_URL=https://linkwarden.$DOMAIN/api/v1/auth/callback/oidc
OIDC_CLIENT_NAME="OIDC"
OIDC_CLIENT_ID=$CLIENT_ID
OIDC_CLIENT_SECRET=$CLIENT_SECRET
OIDC_SCOPES=openid email profile groups
OIDC_AUTO_LOGIN=true

" > /root/linkwarden/.env

Die OIDC_REDIRECT_URL habe ich bestimmt 5 mal versucht zu ändern, da auf der Webseite von Linkwarden das geschrieben steht: The redirect URI to register at your identity provider is https://<your-domain>/api/v1/auth/callback/oidc. Ich habe da alles versucht von linkwarden.$DOMAIN bis portal.$DOMAIN, aber will einfach nicht.

Von den #OIDC Settings gibt es da ein Grundgerüst, was immer dort stehen muss? Wenn ja, welche sind das? Und wenn ich auf die Webseite gehe von dem Addon ( was OIDC unterstützt ), dann muss man doch nur noch das einfügen was dort steht?

Ich habe mein erstelltes Addon installiert.

Dann klick ich es an und gebe meine Zugangsdaten ein und klicke unten auf OIDC:

Dann arbeitet er und dann erscheint das:

Gruß

Hoschy

tach Hoschy,

linkwarden ist superklasse ich drück dir die daumen. mal ein schuss ins blaue, heißt deine setup datei setup_linkwarden.sh ich hab da einen erinnerungsfetzen das jean das mal erwähnt hat, dass der name der datei stimmen muss.

viel glück

Hallo @juri

ich habe das Addon über Libre Workspace erstellt ( sieht so aus ).

Gruß

Hoschy

1 Like