2013-11-03 4 views
0

저는 Kinvey를 사용하고 있습니다. 구체적으로는 비즈니스 로직 사용자 지정 끝점입니다.비즈니스 로직 - 사용자 지정 끝점 : 요청하는 사용자의 사용자 이름을 얻으려면 어떻게해야합니까?

비즈니스 로직 사용자 지정 끝점에서는 실제로 요청을 보내는 사용자가 아닌 "request.username"속성이 항상 appkey 인 것처럼 보입니다.

(인증 헤더에서) 요청한 사용자의 실제 사용자 이름을 얻으려면 어떻게해야합니까?

코드 :이 코드 샘플에서

function onRequest(request, response, modules){ 
    // Get username 
    var username = request.username; 
} 

는 "request.username"는 관계없이 진정한 요청의 인증 헤더의 appkey 항상 동일 이다.

내가 진정한 사용자를 필요로하는 이유는 데이터 행을 삽입한다는 것이고 "_acl"열의 "생성자"값이 실제 사용자의 "_id"와 같아야한다는 것입니다. 현재는 항상 appkey로 설정됩니다.

답변

1

아마도 @RyanHenderson, 당신을 위해 너무 늦었을 것입니다. 이를 수행하는 적절한 방법은 collectionAccess 모듈을 사용하는 것입니다.

var collectionAccess = modules.collectionAccess; 
creatorId = collectionAccess.objectID(entity._acl.creator); 
collectionAccess.collection('user').findOne({"_id" : creatorId}, function (err, userColl) { 
    // ..do stuff with userColl 
});