Drupal 7 서비스 API (v7.x-3.17)를 사용하여 Angular2 프런트 엔드와 연결합니다.Angular2 및 Drupal 7 서비스 API 인증
인증이 올바르게 작동하는 데 문제가 있습니다. 로그인 할 때 올바른 데이터 (session_name, sessid, 토큰 등)를 모두 수신합니다. 그러나 다른 후속 호출 (예 : 시스템/연결)을 수행하면 다른 "sessid"를 반환하고 내가 "익명 사용자"라고 알려줍니다.
그냥 난 그냥 로그인을 인식하지 않습니다 여기에 내가 복용하고있는 단계입니다. "사용자/로그인"전화를 통해
- 로그인.
- API는 모든 올바른 사용자 정보가있는 "sessid", "session_name", "token"및 "user"개체를 반환합니다.
- 후속 API 호출을 위해 X-CSRF-TOKEN을 저장하십시오.
- 헤더에 "X-CSRF-TOKEN"을 추가하고 "system/connect"호출을 통해 사용자 정보를 얻기 위해 API를 호출하십시오.
- API는 새로운/다른 "sessid", 동일한 "session_name"및 "익명 사용자"에 대한 "user"블록을 반환합니다.
나를 기다리는 동안 익명 사용자를 돌려 보내는 이유를 알 수 없습니다. 아무도 내가 이것을 알아낼 수있게 도와 줄 수 있습니까? 여기
내 사용자/로그인 기능입니다 :////////////////////////////////////////////////////
// GET USER DATA OR "CONNECT" API CALL
// get user data with 'system/connect' api call
////////////////////////////////////////////////////
getUser(): Observable<any> {
// Retrieve the token
let token = Cookie.get('X-CSRF-TOKEN');
// Prepare API call
let url = this.postUrl + 'system/connect';
let body = { username: 'test', password: 'test' };
let headers = new Headers('X-CSRF-TOKEN', token);
headers.append('Content-Type', 'application/json');
let options = new RequestOptions({ headers: headers, withCredentials: true });
return this.http.post(url, body, options)
.map((res:Response) => this.extractData(res))
.catch((error:any) => this.handleError(error));
}