我很困惑。什么" password_grant"服务器期望验证者的类型,以便说成功"成功"在尝试从远程服务器获取其令牌时进行身份验证?
只要服务器返回200状态代码,它总是经过身份验证。我在这里错过了什么吗?
// app/controllers/login.js
import Ember from 'ember';
export default Ember.Controller.extend({
session: Ember.inject.service('session'),
actions: {
authenticate() {
let { identification, password } = this.getProperties('identification', 'password');
this.get('session').authenticate('authenticator:oauth2', identification, password).catch((reason) => {
this.set('errorMessage', reason.error || reason);
});
}
}
});
如果用户密码未在服务器端通过验证,服务器应返回401状态代码?
更多: 根据{{3}},服务器应以400响应。
因此,根据我所研究的内容,一旦服务器返回200个代码和一些JSON数据,即使是任何空的JSON数据,ember-simple-auth也会将其作为经过身份验证的。返回400将属于catch子句。
也许有人可以跟我确认一下?我想oauth2.0应该在服务器端实现。 Ember-simple-auth只是符合标准并假设" 200状态代码"表示已经过身份验证,令牌应该在返回的json有效内容中。