什么是一个很好的登录身份验证流程

时间:2015-03-03 06:16:34

标签: ember.js ember-cli ember-simple-auth

我如何实施如下所述的解决方案?在像ember-simple-auth这样的东西中插入会更容易吗?我发现的所有示例都实现了自己的登录表单,这不是我将拥有的。我的登录将存在于自己的域中。

情景:

  1. 用户访问https://myapp.com
  2. 在某些初始化程序中,我发现他们没有/没有有效的访问令牌,因此我将其重定向到https://login.myapp.com?redirect_uri=https://myapp.com
  3. login.myapp.com签署用户手中的访问令牌,并将用户重定向到https://myapp.com?access_token= {token}
  4. Myapp仅在此时再次启动它找到一个有效的访问令牌(来自url)并设置用户登录的一些变量。然后将令牌作为标题承载添加到所有未来的xhr请求中。
  5. 这是一种逻辑登录方式吗?我缺少一些根本性的缺陷?你知道任何教程做这样的事吗?谢谢!

1 个答案:

答案 0 :(得分:0)

使用Ember Simple Auth可以很容易地实现这一流程。在重定向后应用程序再次启动时,您只需要define a custom authenticator验证会话。验证者的authenticate方法看起来很......像这样:

authenticate: function(options) {
  return new Ember.RSVP.Promise(function(resolve, reject) {
    resolve({ token: /* the token you get from the query string */ });
  });
}

在初始化程序中使用身份验证器验证会话然后就像这样简单:

this.get('session').authenticate('your-authenticator');