2017-01-26 10 views
1

Когда мы обращаемся к API Asana, мы используем Asana node client v0.15.0 вместе с сценарием Tampermonkey. Api отвечает 401 (Несанкционированный).Asana API Personal Access Token return 401 (неавторизованный)

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

Authorization: Bearer my-personal-access-token -> Authorization: bearer my-personal-access-token.

Это, кажется, работает нормально, это указывает на то, что что-то изменилось на стороне Асаны.

Узел-asana js client lib не позволяет мне изменять запрос перед отправкой его в API Asana.

В соответствии с Asana API support он находится на stackoverflow, который я должен попросить о помощи по этому вопросу.

EDIT

По некоторым доследование кажется, что, когда мы посылаем в куки auth_token=My auth token мы получаем ошибку 401. Но если удалить cookie и переиздать запрос в скрипачке, он отлично работает.

Еще одно замечание, что теперь мы не получаем никакой custom_fields в ответе https://app.asana.com/api/1.0/tasks/TaskId

например

ответ

3

Я разработчик Выступать в асану. Вы поймали то, что является известной проблемой, и мы работаем над исправлением :) Мы выкатываем a new version of our API. Он предназначен для обратной совместимости со старой версией, но предоставление нам нескольких форм аутентификации является одним из тех случаев, когда мы делаем что-то другое между ними.

В целях безопасности мы вначале реализовали это в новой версии, чтобы не разрешать запросы с несколькими формами аутентификации, но оказывается, что интеграция с браузером была затронута точно так, как вы видите: вход в Asana , что заставляет ваш браузер автоматически отправлять ваши учетные данные авторизации для запросов на asana.com, а также разрешать «правильный путь» для нашего API с помощью OAuth или токена персонального доступа. Мы работаем над исправлением, которое позволит этому работать в том случае, если оба пользователя, зарегистрированного в сети (cookie) и пользователя API доступа (токена доступа), являются одинаковыми.

Если это срочная проблема, и вы хотите заставить старое поведение произойти, когда мы развертываем исправление в нашей новой реализации API, вы можете установить заголовок, как описано в этой ссылке - ^, чтобы заставить ваши запросы для старого API. Как только мы получим новый API полностью развернутым и стабильным, мы будем обесценивать этот заголовок, поэтому, пожалуйста, будьте осторожны, опираясь на него для долгосрочного решения.

Извините, что это вызвало проблемы для вас, и спасибо, что создали этот вопрос, чтобы сообщить нам об этом!

+0

Спасибо за объяснение! Мы сделали обходной путь, поэтому мы используем OAuth2 вместо токенов доступа, и он отлично подходит для нас. Проблема с отсутствием _custom_fileds_ , похоже, также решена. –