나는 Drupal 7과 Services 3.x (3.10)를 가지고있다. 은/관리/구조/서비스 페이지에서 , 난 엔드 포인트 및 내 사용자 지정 모듈을 만들 수 있습니다drupal 서비스 모듈에서 세션 인증을 사용하는 방법
function webServices_services_resources() {
$api = array(
'customers' => array(
'retrieve' => array(
'help' => 'Retrieves posted blogs',
'callback' => '_webServices_retrieve',
'access arguments' => array('access content'),
'access arguments append' => FALSE,
'args' => array(
array(
'name' => 'id',
'type' => 'int',
'description' => 'The id of the note to get',
'source' => array('path' => '0'),
'optional' => FALSE,
),
),
),
),
);
return $api;
}
지금 난 내 BASE_URL/엔드 포인트/사용자/login.json에 POST 요청을을 (사용자 이름과 암호를 전달) 그리고 나는 session_name과 session_id를 얻는다. 나는 다음과 같은 헤더/1.json (예를 들어) BASE_URL/엔드 포인트/고객을 호출하는 경우
는 :
User-Agent: Fiddler
Content-Type: application/json
Host: liburna3.alpha-si.org
Cookie: SESS738851ba4e98ab1f17a7252513dc0719=hy5xVjlDzjIbXz-nlwEV4GywbAPAPL0d_aFGhtIRWzw
난 오류 403 얻을 : 액세스가 사용자에 대한 거부 XXXXXXXXX
문제는 무엇인가 ?
- https://groups.drupal.org/node/358308 – Clive
내가 넣어 시도를 또한 헤더의 X-CSRF-Token : : 0YHNSF62OVt9yttpgMFvbrvSEdTzGvNIqdZ53OY (로그인 응답에서 수신)와 동일한 결과가 나타납니다 ... 인증되지 않았습니다. – Tom
이것이 해당 로그인 세션에 대해 다시 제공하는 토큰 인 경우 작동합니다 . 항상 나를 위해. 만약 당신이 정확하게 문서를 설명하는대로, 그리고 그것을 작동하지 않습니다, 모듈에 버그 보고서를 엽니 다 ... 당신의 코드가 잘못 될 가능성이 높습니다 – Clive