1

对于开发和测试,我想使用 Ember CLi Mirage。我试图让它与简单的 auth 和 oauth2 一起工作。如何设置 Mirage 以使用会话令牌?

到目前为止,这就是我正在做的事情:

import Ember from 'ember';

export default Ember.Controller.extend({

    actions: {
        authenticate() {
            var data = this.getProperties('username', 'password');
            this.get('session').authenticate('simple-auth-authenticator:oauth2-password-grant', data);
        }
    }

});

在海市蜃楼中,我不确定如何设置我的令牌路线:

this.post('/token');
4

2 回答 2

2

对于像这样的自定义工作,将函数作为第二个参数传递给您的路由定义:

this.post('/token', function(db, request) {
  // generate a token

  return {
    token: token
  };
});

我必须更多地了解您的后端才能提供更具体的指导,但这是一般的想法。希望能帮助到你!

于 2015-06-20T14:22:22.077 回答
2

我在测试中使用以下内容:

import { test } from 'qunit';
import { authenticateSession } from 'app-name/tests/helpers/ember-simple-auth'; 
import moduleForAcceptance from 'app-name/tests/helpers/module-for-acceptance';

moduleForAcceptance('Acceptance | whatever');

test('visiting /subpage-that-requires-authentication', function(assert) {

  authenticateSession(this.application);

  visit('subpage-that-requires-authentication');

  andThen(function() {

    assert.equal(currentURL(), 'subpage-that-requires-authentication');
  });
}); 
于 2017-04-21T12:54:47.643 回答