Я пытаюсь настроить Torii с моим собственным потоком OAuth и Ember-Simple-Auth. Я могу получить успешное событие аутентификации, но сразу после аутентификации срабатывает триггер invalidateSession
, что приводит к завершению сеанса. Я вижу это, перехватывая sessionInvalidated()
в /app/routes/application.js
(у которого есть ApplicationRouteMixin
).
Кто-нибудь из вас сталкивался с этим? Есть ли что-то особенное, что может вызвать немедленную проверку сеанса? Мы будем очень признательны за любые советы.
РЕДАКТИРОВАТЬ: я думаю, что это связано с всплывающим кодом torii, потому что первый возврат работает, а второй - нет. есть идеи?
import OAuth2 from 'torii/providers/oauth2-code';
import {configurable} from 'torii/configuration';
export default OAuth2.extend({
name: 'api',
init() { this.set('clientID', this.get('apiKey')); },
baseUrl: configurable('baseUrl'),
redirectUri: configurable('redirectUri'),
responseParams: ['access_token', 'user_id', 'first_name'],
requiredUrlParams: ['client_id', 'redirect_uri', 'response_type'],
open() {
let name = this.get('name');
let url = this.buildUrl();
let redirectUri = this.get('redirectUri');
let responseParams = this.get('responseParams');
// this return works
return { 'yes' : 'no' }
// this return causes the immediate invalidation
return this.get('popup').open(url, responseParams).then((authData) => {
var missingResponseParams = [];
responseParams.forEach(function(param){
if (authData[param] === undefined) {
missingResponseParams.push(param);
}
});
if (missingResponseParams.length){
throw new Error("The response from the provider is missing " +
"these required response params: " + missingResponseParams.join(', '));
}
return {
access_token: authData.access_token,
first_name: authData.first_name,
user_id: authData.user_id,
provider: name,
redirectUri: redirectUri
};
});
}
});
debugger
в хуки sessionAuthenticated и sessionInvalidated в ApplicationRouteMixin. После авторизации я нажимаю первую инструкцию отладчика и вижу учетные данные аутентификации в localStorage, затем я нажимаю вторую инструкцию отладчика, и учетные данные аутентификации исчезают. - person danpaz   schedule 16.03.2016