Einladungslinks (Schaltfläche „Einladung annehmen“) mit SSO funktionieren nicht für stabile v2.8.10

Hallo Discourse-Team,

Der Button Einladung annehmen funktioniert in der stabilen Version 2.8.10 nicht. Wenn Sie versuchen, sich über SSO anzumelden, werden Sie einfach zur Einladungsseite zurückgeleitet, und Einladung annehmen tut nichts. Es werden auch keine Konsolenfehler angezeigt. Kann jemand helfen?

Ich glaube, es hängt mit dem letzten Update zusammen: SECURITY: Fix invite link validation (stable) (#18818) · discourse/discourse@7e4e8c8 · GitHub

Viele Grüße

2 „Gefällt mir“

Können Sie bestätigen, wie Ihre Website konfiguriert ist?

Einladungen funktionierten historisch gesehen nicht mit aktiviertem SSO. Dies könnte eine Regression sein, aber wir müssten mehr wissen.

1 „Gefällt mir“

Hallo @Stephen ,

Danke für deine Antwort! Welche Informationen benötigst du speziell? Wir haben es selbst gehostet auf dem stabilen Branch (v2.8.10) mit dem discourse-saml-Plugin und Okta (SSO). Vor dem Update auf 2.8.10 konnten wir Einladungslinks zu Gruppen erstellen und sie funktionierten, der Benutzer meldete sich über SSO an und wurde dann zum in den Einladungseinstellungen angegebenen Thema weitergeleitet.

Zusätzliche Informationen:

In der vorherigen stabilen Version v2.8.9, auf domain.com/invites/invitecode:

  • Ein nicht angemeldeter Benutzer würde mit einem Bildschirm begrüßt, der ihn auffordert, sich über SSO (Okta, das in der app.yml SAML-Konfiguration angegeben ist) anzumelden. Dies würde ihn zur SSO-Anmeldung/Registrierung weiterleiten, danach werden die Einladungsaktionen ausgeführt (Weiterleitung zum Thema, Hinzufügen zur Gruppe usw.)

  • Ein angemeldeter Benutzer würde den Einladungsbildschirm automatisch umgehen und die Einladungsaktionen würden ausgeführt.

In der aktuellen stabilen Version v2.8.10, auf domain.com/invites/invitecode:

  • Sowohl nicht angemeldete als auch angemeldete Benutzer werden mit dem Einladungsbildschirm mit 2 Schaltflächen begrüßt:
    – Über SSO anmelden Schaltfläche
    – Einladung annehmen (dies ist neu)

Wenn die Schaltfläche “Über SSO anmelden” geklickt wird, wird der Benutzer zur Anmeldung aufgefordert (falls nicht angemeldet) und zurück zur Einladungsseite weitergeleitet.
Wenn die Schaltfläche “Einladung annehmen” geklickt wird, passiert nichts.

Wir haben in der Netzwerk-Browserkonsole beobachtet, dass eine PUT-Anfrage an domain.com/invites/show/invitecode.json gesendet wird, die einen 504-Fehler zurückgibt (nur in Version 2.8.10).

1 „Gefällt mir“

Gibt es eine bestimmte Kategorie, in die ich dies verschieben kann, damit ich diesen Fehler melden kann?

1 „Gefällt mir“

Bestätigen Sie, dass wir das Problem sehen, können Sie irgendwie bestätigen, dass dies kein Problem bei tests-passed ist und nur derzeit in stable besteht?

2 „Gefällt mir“

Hallo @sam ,

Danke für die Antwort! Schön zu hören, dass Sie das Problem im Blick haben.

Leider haben wir keine Test-Instanz mit SSO, da wir uns immer an stabile Versionen gehalten haben. Ich habe einen Test-Branch ohne SSO, und dort gibt es keine Probleme.

EDIT: Ich werde versuchen, eine Test-Instanz mit SSO zum Laufen zu bringen.

Hallo @sam,

Ich konnte eine tests-passed-Instanz hochfahren und hatte damit kein Problem bei tests-passed.
Ich konnte Einladungen annehmen. Ich hoffe, das hilft!

1 „Gefällt mir“

Hallo @sam!

Gibt es eine Möglichkeit, dass Stable zurückportiert werden kann, damit es auf Stable behoben werden kann?

Ich habe gesehen, dass Discourse ein Update erhalten hat: 2.8.11: Security Release

Besteht die Chance, dass dieses Update dieses Problem behebt? :slight_smile:

1 „Gefällt mir“

Ja, wir werden das Update durchführen. Vielen Dank für die Meldung. Wir werden Sie informieren, sobald es abgeschlossen ist. Geben Sie uns ein bis zwei Wochen Zeit.

2 „Gefällt mir“

Das ist großartig! Danke @sam ! :raised_hands:

EDIT:
Nur zur Information für andere, die dies möglicherweise erleben:

Version 2.8.11 von Stable behebt das Problem nicht. Das Klicken auf „Einladung annehmen“ gibt jetzt jedoch eine Konsolenprotokollfehlermeldung aus:
PUT https://<DOMAIN>/invites/show/<INVITE_CODE>.json 404
Die .json-URL führt Sie zu:

// https://<DOMAIN>/invites/show/<INVITE_CODE>.json

{
  "errors": [
    "Die angeforderte URL oder Ressource konnte nicht gefunden werden."
  ],
  "error_type": "not_found"
}

Hallo @hyphalos, ich habe mich heute damit zu befassen begonnen. Ich bin mit unserem SAML-Setup nicht vertraut, also haben Sie bitte Geduld mit mir.

Das ist ein wenig seltsam, die Schaltfläche „Einladung annehmen“ sollte nur für angemeldete Benutzer angezeigt werden. Können Sie bitte einen Screenshot posten, was sowohl angemeldete als auch abgemeldete Benutzer für eine bestimmte Einladung sehen, und welche Optionen wählen Sie für die Einladung hier aus:

3 „Gefällt mir“

Hallo @martin!

Danke für deine Rückmeldung. Entschuldige die verspätete Antwort, ich war krank.

Ich habe weitere Tests durchgeführt und festgestellt, dass nach dem Update auf v2.8.11 Personen eine Einladung nur einmal annehmen können, unabhängig von den Einstellungen für die Einladungserstellung. Ich habe dies mit “Bei Thema ankommen”, ohne “Bei Thema ankommen”, “Zur Gruppe hinzufügen”, ohne “Zur Gruppe hinzufügen” usw. getestet, und Personen können Einladungen nur einmal annehmen. Ist das beabsichtigt?

Was passiert, wenn sich ein Gast anmeldet, aber dieselbe Einladungs-URL erneut verwendet? Er bleibt auf der Einladungsseite stecken (keine Weiterleitung mit “Bei Thema ankommen”). Wenn er auf “Einladung annehmen” klickt, erscheint dieser Fehler:

EDIT: Ich wollte nur hinzufügen, dass es, falls es sich um ein beabsichtigtes Verhalten handelt, keine Fehlermeldung gibt, die besagt “Sie haben diese Einladung bereits angenommen” oder etwas Ähnliches, oder es wird einfach dorthin weitergeleitet, wo “Bei Thema ankommen” in der Einladung festgelegt ist.

2 „Gefällt mir“

Ja, das ist beabsichtigt. Nicht der Fehler, sondern der Teil, dass sie die Einladung nicht mehrmals annehmen können. Wir haben dies unter New 'accept invitation' prompt feature causing issues with invitation links - #14 by martin besprochen, wo ich eine Korrektur vorgenommen habe, aber ich sehe jetzt, dass ich diese Korrektur auch auf stable zurückportieren muss, cc @sam

2 „Gefällt mir“

Hallo @martin , das ist großartig, danke für die Untersuchung!

2 „Gefällt mir“

Ich habe gerade diesen Fix in stable hier committet:

2 „Gefällt mir“

Hallo @martin!

Nochmals vielen Dank für die Korrektur!

Ich habe auf 2.8.12 aktualisiert (was laut dem Commit-Tag [Commits · discourse/discourse · GitHub] im Admin-Panel die Korrekturen enthält) und sehe nun eine Fehlermeldung (auf einem Testkonto) für den Versuch, eine Einladung anzunehmen, die ich auf dem Testkonto bereits einmal angenommen habe:

Was großartig ist!

Obwohl ich als bereits angemeldeter Benutzer nicht erwartet hätte, dass der “Okta SSO”-Button angezeigt wird. Wenn der Button geklickt wird, wird er in SSO geschleift und dann zur Einladungsseite zurückgebracht. Da der Benutzer angemeldet ist, sollte der Login-Button nicht ausgeblendet werden, um Verwirrung zu vermeiden?

Dieses Thema wurde nach 4 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr möglich.