【发布时间】:2016-07-26 20:51:01
【问题描述】:
我已经四处搜索,但找不到这个问题的满意答案。
我有一个流星网站,用户可以在其中登录并创建内容。我还想创建一个能够与网站交互的手机应用程序,我希望用户登录手机应用程序并访问网站上的相同内容。很正常。
我创建了一个基本的 REST API,用于使用陨石包 HTTP.publish 访问集合。它在没有任何用户信息(无身份验证)的情况下工作,但现在我想使用 GET 方法的 userId 和集合的 Meteor.allow 规则来访问当前用户。
所以我目前正在努力解决如何在 REST 请求中告诉流星,用户的 id,即使只是在测试时也是如此。我想我可以在浏览器中获取有效用户的Accounts._storedLoginToken 并使用它来测试 CURL。类似的东西
curl -H "X-Auth-Token: asdklfjasldfjlsadkjf" -H "Content-Type: application/json" -d '{"name":"A Name","description":"Testing description"}' http://localhost:3000/api/places
我试过这个,但不高兴,我得到了一个 403,这至少是好的。
我的问题是这样的:
- 是特定于客户端创建的令牌(即使用主机 url 或其他东西进行哈希处理)吗?
- bcrypt 是否改变了
X-Auth-Token的使用方式?如果不是,我在 curl 命令中做错了什么。 - DDP 是创建有效令牌的唯一方法,还是我可以创建一个 API 调用来在服务器上创建一个令牌,即使现在只是传递纯文本凭据?
例如/api/login?user=shane&pwd=qwerty => return token 我可以在 curl 请求中使用。
我真的坚持这一点,所以任何指向我正确方向的东西都将不胜感激。我还注意到http.publish 还没有创建登录/注销方法,所以可能没那么容易。
【问题讨论】:
标签: rest authentication meteor