2015-01-16 2 views
2

Я искал возможные решения этой проблемы во всем мире и, похоже, не мог придумать ничего в частности. Из-за изменения моего обратного вызова на различные другие манипуляции в Хапи, я не могу получить обещание разрешить на угловой стороне. Как ни странно, всплывающее окно Twitter не закрывается. Если я закрою его вручную, то обещание будет отклонено.ngSatellizer и Hapi/Bell не играют хорошо вместе. Обещание не будет разрешено для Twitter

Итак, я должен настроить это обойти отвергнутое обещание, и это просто противно ...

//Angular Method 
$scope.addTwitter = function(){ 
    $auth.authenticate('twitter').then(function(res){ 
     // success 
    }, function(res){ 
     // failure 
    }); 
}; 




//Hapi Route 
//Handles both POST and GET and will successfully authenticate for Twitter on /auth/twitter 
var User = require('../../models/user'); 

module.exports = { 
    description: 'Twitter oAuth for the front-end.', 
    tags:['twitter'], 
    auth: { 
    strategies: ['twitter'], 
    mode: 'try' 
    }, 
    handler: function(request, reply){ 
    if (!request.auth.isAuthenticated){ 
     return reply('Authentication failed due to: ' + request.auth.error.message).code(400); 
    } 

    if(request.auth.isAuthenticated){ 
     User.addTwitter(request.state['hapi-cookie'].id, request.auth.credentials, function(err, results){ 
     //Twitter Object 
     //console.log(request.auth.credentials) 
     reply().code(200); 
     //return reply.redirect('/#/thanks'); 
     }); 
    } 
    } 
}; 

Я попробовал много разных вещей, в течение последних нескольких дней, чтобы получить эту работу правильно. Увы, я здесь. Любая помощь приветствуется!

+0

Насколько я знаю, Bell не работает с Satellizer. – poxip

+0

После того, как я долгое время боролся с этим, я узнал, как тяжело, ха-ха. Я закончил тем, что сбросил Satellizer и создал свои собственные всплывающие окна через оконный объект. –

ответ

1

Для тех, кто в будущем ...

я в конечном итоге создание всплывающих окон с объектом окна и длительного опроса для изменений в сессии для уведомления успешной/неудачной попытки. Это проще всего сделать, если вы используете Angular with Hapi.

+0

Я использую Facebook в качестве провайдера, и я получаю ту же проблему. Обещание не разрешается с угловой стороны. следуя экспресс-способу, показанному в примере в официальном репозитории, из бэкэнда он возвращает токен, но прежде чем что-то произойдет, и я не знаю, как его исправить. Я не хочу создавать всплывающее окно. – Mazzy

Смежные вопросы