DDP로 인증을 하려면 네트웍상에 평문으로 보내지 않기 위해 SRP(Secure Remote Password) 라는 프로토콜로 변환한다. https://github.com/meteor/meteor/tree/devel/packages/srp package.js 를 보면 biginteger 와 sha256 을 사용한다. 구현해야할 부분은 https://github.com/meteor/meteor/blob/devel/packages/accounts-password/password_client.js#L10 이 곳 참조. password 를 가지고 다음과 같이. s = new srp.Client password request = s.startExchange() if typeof selector == 'string' selector = if ~selector.indexof("@") then username: selector else email: selector request.user = selector beginPasswordExchange 를 시작하는 부분의 인자는 request 자체를 사용. request 내용은 A를 키로 하는 SRP 암호문과 user를 키로하는 사용자명이 되겠다. method 쏴준다. A에 srp로 암호화한 문자를 사용. { msg: 'method', method: 'beginPasswordExchange', params: [ { A: '439284960ce6bc7c163262b5629a467cd06bb982432615ec526a1ed204d2f76a1a2...
Meteor evangelist, IoT, Renoise, Lua, Javascript, Coffeescript