2016-02-04 29 views
6

Ho il seguente:Come impostare il "realm" usando PHP OAuth?

$oauth = new OAuth($consumer_key,$consumer_secret, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_AUTHORIZATION); 
$oauth->setToken($oauth_access_token,$oauth_access_token_secret); 

Quando poi eseguire:

$h = $oauth->getRequestHeader(OAUTH_HTTP_METHOD_POST, $url); 

ottengo l'intestazione:

OAuth oauth_consumer_key="XXXXXXX",oauth_signature_method="HMAC-SHA1",oauth_nonce="1454566103",oauth_timestamp="1454566103",oauth_version="1.0",oauth_token="XXXXXXX",oauth_signature="XXXXXXXXXX" 

Il problema è, mi aspetto questo:

OAuth realm="1111", oauth_consumer_key="XXXXXXX",oauth_signature_method="HMAC-SHA1",oauth_nonce="1454566103",oauth_timestamp="1454566103",oauth_version="1.0",oauth_token="XXXXXXX",oauth_signature="XXXXXXXXXX" 

Ma non è ovvio come aggiungere la parte "regno". Come aggiungo il realm, in modo che quando viene generata la firma, rappresenti il ​​realm nella stringa di build iniziale?

+0

Ho trovato tuo post davvero interessante, e la ricerca di un po ' riguardo al tuo problema sono arrivato su questo [post] (https://github.com/scribejava/scribejava/issues/424), potrebbe esserti utile :) – Asur

+0

Se stai usando la libreria da [pecl.php. net] (https://pecl.php.net/package/oauth) documentato nel [manuale PHP] (http://php.net/manual/en/book.oauth.php) Non penso che supporti Questo. Certamente la parola "regno" non appare da nessuna parte nel codice sorgente, nella documentazione o negli esempi. Potrebbe essere necessario scaricare un'altra libreria dall'elenco all'indirizzo http://oauth.net/code/. –

risposta

0

Potrei sbagliarmi completamente, ma possiamo impostare le intestazioni utilizzando htaccess nella directory desiderata? In questo modo, le intestazioni attesi saranno inclusi in ogni richiesta, se questo non è un problema

Qualcosa di simile nel tuo caso ...

Header add realm "1111" 
Problemi correlati