Meteor 서버와 외부 서버끼리 연동할 일이 간혹 있다. 혹은, 정적 웹페이지를 구축하고 REST로 Meteor 서버에 접근하고 싶을 수도 있을 것이다. 가령 /image 라는 경로에 POST로 그림 파일을 올리고자 하면 클라이언트 쪽에서 보내는 것은 문제가 아니지만 사용자를 어떻게 인증할 것인가에 대한 문제가 생긴다. 그렇다고 매번 POST를 보낼 때 마다 사용자 아이디와 패스워드를 올려서 검증하는 것도 번거로울 뿐만 아니라 보안상 좋지 않다. Meteor 의 경우 최초 사용자 인증이 끝나면 loginToken이라는 값을 반환하여 이 값으로 다음번에 인증을 할 수 있는데 이것은 사용자 계정 정보 curl -XPOST 'localhost:3000/image' -H "x-user-auth:< 지난번 로그인 때 저장한 loginToken >" -F "image=@/xxx/xxx/xxx/xxx.gif" 로 호출한다고 가정했을때 POST에 대한 filter 를 설정하고 API= GET: Picker.filter (req, res)-> req.method is "GET" POST: Picker.filter (req, res)-> req.method is "POST" DELETE: Picker.filter (req, res)-> req.method is "DELETE" 서버 라우팅을 해준다. API.POST.route '/image', (params, req, res)-> token = req.headers['x-user-auth'] hashedToken = Accounts._hashLoginToken(token) user = Meteor.users.findOne 'services.resume.loginTokens.hashedToken': ...
Meteor evangelist, IoT, Renoise, Lua, Javascript, Coffeescript