我有一种情况,我希望能够根据 URL 中的确认令牌参数自动登录用户。在我的路线中,我向服务器发出 AJAX 请求以验证令牌并发送回用于登录的相同序列化 Oauth2 JSON。
是否可以使用此令牌登录用户?
首先,用户转到如下 URL:
http://example.com/users/confirmation?confirmation_token=eisz6LMzmck55xHuqopF
接下来,我的路由向服务器发送一个 AJAX 请求,该服务器使用 Oauth2 令牌进行回复。
这是我当前尝试使用身份验证器来恢复它的实现。尽管在控制台中看到“我应该登录”,但它不起作用。我怀疑这是因为它不知道恢复会话。查看会话文档,我看到了一种手动身份验证的公共方法,但没有从 oauth 令牌恢复的方法。
import Ember from 'ember';
import ajax from 'ic-ajax';
export default Ember.Route.extend({
model: function(params) {
var path = MyApp.API_NAMESPACE + '/confirmation?confirmation_token=' + params.confirmation_token;
var authenticator = this.container.lookup('simple-auth-authenticator:oauth2-password-grant');
return ajax(path).then(function(response) {
return authenticator.restore(response).then(function() {
console.log('I should be logged in');
});
}).catch(function(request) {
console.log(request);
});
}
});