【发布时间】:2016-08-13 13:47:38
【问题描述】:
我正在编写一个应用程序,前端在 emberjs 中,后端/服务器端在 nodejs 服务器中。我配置了 emberjs,以便用户可以使用第 3 方 Oauth(谷歌、推特、Facebook)登录/注册。我有一个用 express nodejs 服务器编写的后端,它托管 RESTful API。
我没有连接到 emberjs 的数据库,而且我认为无论如何我都不应该这样做,因为它是严格的客户端代码。我打算使用 JWT 在客户端和服务器端之间进行通信。当用户使用他们的 oauth 凭据登录时,我会从提供者那里得到一个 JSON 对象,其中包含 uid、名称、登录名、access_token 和其他详细信息。
我正在努力选择如何处理用户注册的策略。因为它是 OAuth,所以没有注册过程。所以流程是如果用户不在我的数据库中,请创建它。我不支持电子邮件/密码验证。当用户第一次使用 OAuth 提供者登录时,流程是怎样的? emberjs 是否应该在每次登录时将所有详细信息发送到后端,以便后端可以将新用户添加到数据库?
什么应该是我的 JWT 主体的一部分?我在想 uid 和 provider 提供的访问令牌。我在这里能想到的一个问题是提供商特定的访问令牌可以更改。用户可以从提供商的站点撤销令牌并使用 emberjs 重新注册。
如果它更容易,我愿意在任何其他 javascript 客户端框架中编写前端。
【问题讨论】:
-
你是在描述如何做到这一点还是所有的代码?请注意,ember 和 node 非常适合这一点,客户端和后端的技术堆栈应该不会对解决方案产生重大影响。
-
我正在寻找一个关于不同组件在什么阶段应该如何通信的流程。我不需要代码
标签: node.js api rest ember.js jwt