Ticket #1302 (closed defect: fixed)
API POST /member liefert trotz session_key "forbidden"
| Reported by: | seppelin@… | Owned by: | dark |
|---|---|---|---|
| Priority: | critical | Milestone: | |
| Component: | API | Version: | 2.0 |
| Keywords: | Cc: | seppelin@… |
Description
Es können keine Werte per API gepostet werden trotz gültigen session_keys und member-Zugriff
Ausführlicher Trace:
POST /session
Request Header
POST /session HTTP/1.1 Host: localhost User-Agent: PHP LiquidFeedback API 0.1 Content-Type: text/xml Content-Length: 24 key=XXXXXXXXChvD3XNnf99Y
Response Header
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Access-Control-Allow-Origin: * Date: Sun, 29 Jul 2012 12:25:47 GMT Connection: keep-alive Transfer-Encoding: chunked
Raw JSON Object
stdClass Object
(
[session_key] => w8zTJUQypiyu6Rr0
[status] => ok
)
GET /info?session_key=w8zTJUQypiyu6Rr0
Request Header
GET /info?session_key=w8zTJUQypiyu6Rr0 HTTP/1.1
Host: localhost
User-Agent: PHP LiquidFeedback API 0.1
Content-Type: text/xml
Response Header
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Access-Control-Allow-Origin: * Date: Sun, 29 Jul 2012 12:25:47 GMT Connection: keep-alive Transfer-Encoding: chunked
Raw JSON Object
stdClass Object
(
[core_version] => 2.0.11
[api_version] => 0.2.0
[current_access_level] => member
[current_member_id] => 1
[member_ttl] => stdClass Object
(
[years] => 1
)
[settings] => stdClass Object
(
[result_row_limit] => stdClass Object
(
[max] => 1001
[default] => 101
)
)
[status] => ok
)
GET /member?session_key=w8zTJUQypiyu6Rr0&member_id=1
Request Header
GET /member?session_key=w8zTJUQypiyu6Rr0&member_id=1 HTTP/1.1 Host: localhost User-Agent: PHP LiquidFeedback API 0.1 Content-Type: text/xml
Response Header
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
Access-Control-Allow-Origin: *
Date: Sun, 29 Jul 2012 12:25:47 GMT
Connection: keep-alive
Transfer-Encoding: chunked
Raw JSON Object
stdClass Object
(
[result] => Array
(
[0] => stdClass Object
(
[id] => 1
[name] => Administrator
[organizational_unit] =>
[internal_posts] =>
[realname] =>
[birthday] =>
[address] =>
[email] =>
[xmpp_address] =>
[website] =>
[phone] =>
[mobile_phone] =>
[profession] =>
[external_memberships] =>
[external_posts] =>
[statement] =>
[active] => 1
[locked] =>
[created] => 2012-07-08T16:55:56.789Z
[last_activity] => 2012-07-10
)
)
[status] => ok
)
Random String to be written to website
cvyckjd0nl
POST /member Request Header POST /member HTTP/1.1 Host: localhost User-Agent: PHP LiquidFeedback API 0.1 Content-Type: text/xml Content-Length: 47 session_key=w8zTJUQypiyu6Rr0&website=cvyckjd0nl
Response Header
HTTP/1.1 200 OK Content-Type: application/json; charset=UTF-8 Access-Control-Allow-Origin: * Date: Sun, 29 Jul 2012 12:25:47 GMT Connection: keep-alive Transfer-Encoding: chunked
Raw JSON Object
stdClass Object
(
[status] => forbidden
)
Attachments
Change History
comment:2 Changed 11 months ago by seppelin@…
Danke für das Feedback. Mit der neuen Version funktioniert es! Wie kann ich denn mit mercurial auf die
neueste Revision updaten? Ich bin da nicht so der Experte und hg update hat mir nie Änderungen angezeigt, die geholt werden könnten. hg update -r 0eef836b8f54 lieferte auch nur
abort: unknown revision '0eef836b8f54'!
Es ist ja wahrscheinlich nicht richtig, dass ich den API Server stoppe, das lfapi-Verzeichnis verschiebe,
cd /opt hg clone http://www.public-software-group.org/mercurial/lfapi
durchführe und config.js und node_modules rüberkopiere :-)
comment:3 Changed 11 months ago by dark
- Status changed from accepted to closed
- Resolution set to fixed
"hg pull" holt updates vom Repository-Server. Der übliche Workflow zum updaten ist:
hg pull hg up
oder kurz zusammengefasst:
hg pull -u
Ansonsten: http://mercurial.selenic.com/wiki/Tutorial/

Die Behandlung des session_key wurde bei POST-Requests nur unvollständig durchgeführt. Der Wert session_key wurde nur als GET-Parameter in der Request-URL berücksichtigt, nicht jedoch wenn er im POST-Body übermittelt wurde. Das spezifizierte Verhalten wurde in http://www.public-software-group.org/mercurial/lfapi/rev/0eef836b8f54 implementiert und steht auch auf der Testumgebung zur Verfügung.
Bitte um Rückmeldung.