SSO-Diskurs hat Fehler in derselben Sitzung

Hallo, ich verwende SSO, um mich über Discourse bei WordPress anzumelden. Ich habe das Discourse-WordPress-Plugin verwendet.

Anfangs hat alles reibungslos funktioniert.

Aber wenn ich mich in derselben Sitzung befinde (nicht abgemeldet) und versuche, den Link admin /wp-admin/ aufzurufen, werde ich nicht zum Dashboard weitergeleitet. Stattdessen erscheint im Login-Formular dieser Fehler:

Abgelaufener Nonce

Es scheint ein Problem mit der Sitzung oder den Cookies zu geben.

Das verwirrt die Benutzer, da ich SSO mit Google-Login verwende.

Ich denke, das Problem, das Sie haben, wird durch das Objekt-Caching auf Ihrem Server verursacht. Versuchen Sie, folgenden Code in die Datei functions.php Ihres WordPress-Themes einzufügen, um zu sehen, ob dies das Problem löst:

add_filter('wpdc_sso_client_query', 'wpdc_custom_sso_client_query' );
function wpdc_custom_sso_client_query() {
    return wp_generate_password( 12, false );
}

Einige Details dazu finden Sie hier: Wordpress SSO Expired nonce - #15 by simon.

Mit diesem Code ist es immer noch fehlgeschlagen.
Discourse ist mit Cloudflare nicht kompatibel, aber ich nutze Cloudflare für meine Website zur Abwehr. Ist das in Ordnung?

Es funktioniert, wenn ich Cookies lösche und mich erneut anmeldet, aber das ist verwirrend.

Es wird durch diesen Link gestoppt:

/wp-login.php?discourse_sso_error=expired_nonce

Ich glaube, es liegt nicht an Cloudflare, denn diese Regel habe ich zum Testen eingerichtet, um sie zu umgehen:

Der interessante Test, den ich durchgeführt habe, zeigt, dass nicht jeder Link Ihres Plugins fehlschlägt.

Dieser Link funktioniert normal:

/?discourse_sso=7cygqwtc8aaz&redirect_to=https%3A%2F%2Fmyweb.net%2Fmy-account

**Das bedeutet, dass Ihr Parameter „7

Hast du schließlich eine Lösung gefunden? Ich habe das gleiche Problem.

Versuchen Sie es mit der Lösung, die hier angegeben ist: Wordpress SSO Expired nonce - #15 by simon.

1 „Gefällt mir“

Danke, ich habe es angewendet, aber das Problem besteht weiterhin.

@Golaxo Verwendest du auch Cloudflare?

Wenn ja, versuche bitte, Cloudflare vollständig zu deaktivieren und prüfe, ob das Problem weiterhin besteht.

2 „Gefällt mir“

Danke, Kumpel! Nach viel Fluchen habe ich das Problem gefunden: Das Plugin Paid Membership Pro hat einen Konflikt verursacht. Ich muss zwar noch herausfinden, wie man Inhalte in WordPress für Benutzer einschränkt, die über Discourse SSO kommen, aber zumindest habe ich jetzt gesehen, wo das Problem liegt :slight_smile:

2 „Gefällt mir“