Вход в Facebook через Torii и Simple-Auth: данные аутентификации не возвращаются
Я попытался настроить вход в Facebook с использованием Torii и Simple-Auth Torii authenticator. Я использую Ember-Cli.
Вот моя конфигурация:
// config/environment.js
ENV['torii'] = {
providers: {
'facebook-oauth2': {
apiKey: 'my facebook app id'
}
}
}
Вот мой код входа в систему:
// app/controllers/login.js
import Ember from 'ember';
import LoginControllerMixin from 'simple-auth/mixins/login-controller-mixin';
export default Ember.Controller.extend(LoginControllerMixin, {
actions: {
authenticateWithTorii: function(){
this.get('session').authenticate(
'simple-auth-authenticator:torii',
'facebook-oauth2'
).then(
function(data) {
alert('SUCCESS ' + data);
},
function(error) {
alert('There was an error when trying to sign you in: ' + error);
}
);
}
}
});
Открывается всплывающее окно с запросом авторизации, затем я вижу предупреждение "УСПЕХ НЕ УКАЗАН". Я думал, что получу некоторые данные, которые я мог бы использовать на своем бэкэнде, чтобы определенно аутентифицировать пользователя (токен доступа или фейсбук uid и т. Д.).
Я что-то упустил, чтобы использовать Torii с Simple-Auth?
1 ответ
Обещание вернулось Session#authenticate
не имеет значения, но все, с чем разрешает аутентификатор torii, доступно через сеанс, как только оно аутентифицируется (что в вашем случае разрешено в возвращенном обещании). Вы можете получить доступ, например, token
собственность с
var _this = this;
this.get('session').authenticate(
'simple-auth-authenticator:torii',
'facebook-oauth2'
).then(function(data) {
alert('SUCCESS ' + _this.get('session.token'));
})
Вы также можете проверить сеанс content
свойство (которое вы не должны использовать иначе, поскольку оно является частным, но для отладки это нормально), чтобы узнать, что доступно:
console.log(this.get('session.content'))