401 (rest_comment_login_required) beim Posten eines Kommentars zu WordPress 4.7.0 mit Basisauthentifizierung

Lesezeit: 1 Minute

Benutzeravatar von Paul Bormans
Paul Bormans

Ich versuche, einen Kommentar zu WordPress (4.7.0) zu posten, indem ich die Basisauthentifizierung verwende, wie im beschrieben Dokumentation und in WP REST API: Einrichten und Verwenden der Basisauthentifizierung.

Allerdings erhalte ich immer wieder 401-Fehler.

{"code":"rest_comment_login_required","message":"Sorry, you must be logged in to comment.","data":{"status":401}}

Ich habe das Basisauthentifizierungs-Plugin aktiviert, das diesen Anruf dann in einen authentifizierten Anruf umwandeln sollte, oder?

  • Der Fehler 401 bedeutet, dass mit der Authentifizierung in Ihrem Skript ein Fehler vorliegt. Wenn Sie Ihren Code vorzeigen können, ist es einfacher, eine Lösung für Ihren Fall zu finden.

    – rheeantz

    12. Juni 2017 um 17:27

  • Angenommen, Sie beziehen sich auf das clientseitige Skript (nicht auf WP): Response = request.post( url=url, data=data, headers=headers, auth=auth, ) Wobei auth ein Tupel von (user, pass) ist. Ich erhalte die gleichen Ergebnisse (401), wenn ich über den erweiterten Rest-Client poste. Dort definiere ich ein Autorisierungs-Header-Feld mit dem codierten Basiswert.

    – Paul Bormans

    13. Juni 2017 um 9:19 Uhr


  • Ich habe es geschafft, dieses Problem mit einem „Hack“ zu umgehen, wie in beschrieben contradodigital.com/2016/04/06/…. Beachten Sie, dass in Version 4.8 das gleiche Problem auftritt.

    – Paul Bormans

    13. Juni 2017 um 10:04

Sie müssen der Datei „functions.php“ Ihres Themes einen Filter hinzufügen:

add_filter( 'rest_allow_anonymous_comments', function ( $allow_anonymous, $request ) {
    // ... custom logic here ...
    return true; // or false to prohibit anonymous comments via post
}, 10, 2 ); 

Dokumentation: https://developer.wordpress.org/reference/hooks/rest_allow_anonymous_comments/

Benutzeravatar des Android-Benutzers
Android-Benutzer

  1. Gehen Sie zu Ihrem WordPress-Stammordner rootfolder/wp-includes/rest-api/endpoints

  2. Öffne die Datei: class-wp-rest-comments-controller.php

  3. Ändere die Zeile:

    $allow_anonymous = apply_filters( 'rest_allow_anonymous_comments', false , $request );
    

    Zu

    $allow_anonymous = apply_filters( 'rest_allow_anonymous_comments', true, $request );
    

Das ist alles

  • Ich glaube nicht, dass diese Antwort akzeptabel ist. Man bearbeitet nicht einfach die Kernplattformdateien

    – Fotis

    27. August 2020 um 14:34

1450940cookie-check401 (rest_comment_login_required) beim Posten eines Kommentars zu WordPress 4.7.0 mit Basisauthentifizierung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy