Аутентификация Trello API не дает действительный токен пользователя, если я отключаюсь - PullRequest
0 голосов
/ 17 декабря 2018

Я интегрировал trello API в свою панель управления на symfony 3.4.

Когда я впервые захожу на свою страницу, у меня есть функция authorize() в качестве всплывающего окна.Когда я принимаю, я получаю свой токен и свои доски в качестве возврата.В этом случае все хорошо.

Но если я отключу текущего пользователя и приду с другим, этот новый пользователь сможет получить доступ к предыдущим платам.Это как если бы токен остался первым пользователем, как зайти на навигатор.

Authorize ()

Trello.authorize({
    name : 'Native Web',
    type : 'popup',
    expiration: "never",
    success: function () { onAuthorizeSuccessful(); },
    error: function () { onFailedAuthorization(); },
    scope: { write: true, read: true },
});

onAuthorizeSuccessful ()

function onAuthorizeSuccessful() {
    var token = Trello.token();
    Trello.get('/members/me/boards/', successBoards, error);
}

Функция successBoards обрабатывает данные.

Итак, у вас есть идея?Что я делаю не так?

1 Ответ

0 голосов
/ 17 декабря 2018

Готово, я сохранил токен на cookie.И я звоню Trello.authorize, если cookie не существует.

Я добавил persist: false для этой функции.Таким образом, токен сохраняется не логикой трелло, а моей логикой.

Если кто-то в моем случае:

Authorize ()

 Trello.authorize({
            name: 'Native Web',
            type: 'popup',
            persist: false,
            expiration: "never",
            success: function () {
                onAuthorizeSuccessful();
            },
            error: function () {
                onFailedAuthorization();
            },
            scope: {write: true, read: true},
        });

onAuthorizeSuccessful ()

function onAuthorizeSuccessful() {
    var token = Trello.token();
    $.cookie($.cookie('currentLog')+'TokenTrello', token, {expires: 365, secure: false});
    loadBoards();
}

loadBoards ()

function loadBoards() {
    //Get the users boards
    $.get('https://api.trello.com/1/members/me/boards?key=' + API_KEY + '&token=' + $.cookie($.cookie('currentLog')+'TokenTrello'), successBoards);
}

Решено для меня.Спасибо

...