Autentificarea unui utilizator cu WP-API V2 în Postman

9 mar. 2016, 21:10:26
Vizualizări: 15K
Voturi: 2

Folosesc Postman pentru a testa proiectul meu și wp-api. Mai exact, cereri POST unde un utilizator trebuie să fie autentificat pentru a face ceva. Iată cu ce lucrez pentru a crea un utilizator:

{{url}}/projectname/wp-json/wp/v2/users/?username=unNumeNou&email=ben@scientifik.com&password=parolaAici

Totuși, când testez ceva care necesită autentificare, cum ar fi crearea unui utilizator, primesc eroarea 401:

{
  "code": "rest_cannot_create_user",
  "message": "Ne pare rău, nu aveți permisiunea să creați resursă.",
  "data": {
    "status": 401
  }
}

Autentificare prin Nonce: Dacă vedeți link-ul de mai sus, documentația explică setarea header-ului și trimiterea nonce-ului. Aș putea seta header-ul la X-WP-Nonce dar atunci cum aș putea obține nonce-ul pentru a-l trimite în Postman?

Autentificare prin cookie-uri: Am instalat interceptorul Postman pentru a prelua cookie-uri și văd 5 dintre ele, dar tot primesc eroarea 401 cu metoda de mai sus.

Orice idei sau îndrumări ar fi foarte utile pentru comunitate.

5
Comentarii

Poate întrebarea este ce anume încerci să testezi. Nonce și cookie-uri implică front-end și de ce ai vrea să expui orice API de "scriere" în front-end? Apropo, nu sunt deloc familiarizat cu API-ul, dar nonce ar trebui probabil să însoțească cookie-urile, nu să le înlocuiască, decât dacă unul dintre cookie-uri servește ca nonce.

Mark Kaplun Mark Kaplun
9 mar. 2016 21:54:39

Dacă nu ești pe site, unele cereri, cum ar fi crearea/actualizarea conținutului sau obținerea de conținut privat, necesită autentificare prin OAuth. Cookie-urile cu nonce pot fi folosite doar pentru autentificare în cadrul site-ului.

cybmeta cybmeta
9 mar. 2016 22:06:06

@cybmeta deci spui că este imposibil să folosești Postman și WP-API pentru a face cereri POST din cauza nonce-urilor. Corect?

Ben Racicot Ben Racicot
10 mar. 2016 17:04:07

Trebuie să trimiți un cookie de autentificare valid și un nonce valid. Dar cookie-urile sunt valide doar în cadrul aceluiași domeniu. Nu știu dacă poți ocoli această cerință folosind Postman. Metoda de autentificare între domenii diferite este OAuth, care sunt sigur că poți folosi și cu Postman. Dacă vrei să folosești Postman doar pentru testare în timpul dezvoltării, poți folosi și Autentificarea Basic. Toate acestea sunt explicate, cu alte cuvinte, în linkul pe care l-ai partajat în întrebare: http://v2.wp-api.org/guide/authentication/

cybmeta cybmeta
10 mar. 2016 21:20:46

De fapt, explicația din documentație este destul de slabă. Documentația pentru acest proiect a întârziat întotdeauna în urma dezvoltării. :/

MTT MTT
13 mai 2016 20:07:28
Toate răspunsurile la întrebare 2
0

Postman împărtășește cookie-uri cu Chrome. Dacă ești autentificat pe site-ul tău, poți vedea rezultate neașteptate.

REF : https://wordpress.org/support/topic/wp-api-cant-create-a-post/

3 dec. 2016 09:50:44
1

Postman nu are nevoie de un nonce pentru a crea conținut cu v2 beta 12... doar folosește plugin-ul WP-API Basic Auth. Singurul header necesar este cel de autentificare.

introdu descrierea imaginii aici

17 mai 2016 00:52:15
Comentarii

Asta este frumos, dar irelevant pentru orice dezvoltare front end, în special pe site-uri non https. Pur și simplu nu vei trimite parola în text clar, iar nonce-ul este obligatoriu pentru utilizatorii autentificați.

Mark Kaplun Mark Kaplun
5 mar. 2018 05:34:11