2016-10-17 2 views
0

Я использую API VSTS REST. Я использую токен обновления, как указано, для обновления токена доступа. Сегодня утром обновленные токены перестали работать. Они истекают? Если токен доступа и токен обновления истек, как я могу продолжить? Я ничего не могу найти по этому поводу.Срок обновления токена API VSTS

Для справки: https://www.visualstudio.com/en-us/docs/integrate/get-started/auth/oauth#refresh-an-expired-access-token

+0

Вы можете проверить, отменена ли авторизация, и срок действия с "https://youraccount.visualstudio.com/_details/security/oauth". –

+0

@ Eddie-MSFT, похоже, специфичны для пространства имен. Ящики, к которым я обращаюсь, позволяют приложению обращаться к любому пространству имен, к которому пользователь имеет доступ. Их можно увидеть на странице https://app.vsaex.visualstudio.com/me?mkt=en-US&campaign=o~msft~vsts~usercard в разделе «Разрешения» слева – scottndecker

ответ

2

Да, маркер обновления будет истек, вам необходимо отправить запрос на авторизацию повторно, чтобы получить маркер доступа и обновить маркер снова (предыдущие шаги для авторизации).

Предыдущий токен доступа и токен обновления истек после получения нового токена доступа.

+0

Должен ли пользователь видеть повторную авторизацию снова и снова нажмите «Принять»? Или вы сохраняете исходный код авторизации и повторно используете это? Благодаря! – scottndecker

+0

@scottndecker На основании моего теста снова появится страница авторизации, и мне также нужно нажать кнопку «Принять». –

+0

спасибо; Я реализовал это, и он работает. Это очень неоптимально, и, надеюсь, MS улучшит его в будущем. Когда еще в вашей жизни вы должны были предоставить доступ к заявлению на 2-е (или 3-е или 4-е) время? Если пользователь регистрируется только каждые пару дней, им нужно будет щелкнуть «Принять» каждый раз. Это не хорошо. Обновить токены нужно долгое время (> 10 дней), или нужно зайти за кулисы, чтобы получить новый токен обновления без повторного нажатия кнопки «Принять». – scottndecker

1

Я управляю командой, которая реализует этот поток. Ответ от @starain правилен, и этот поток подробно описан в спецификации OAuth 2. Ваше замечание о том, что токен обновления недействителен так часто, @scottndecker не согласуется с реализацией. Ток обновления в нашей системе имеет срок службы по умолчанию один год. Токен также может быть аннулирован вручную пользователями. Очевидно, что мы должны соблюдать право пользователя на отмену ранее предоставленной авторизации. Если вы хотите поделиться дополнительной информацией, мы можем, конечно, изучить это поведение.

+0

Спасибо Крису. Цените, что вы нашли время ответить. Год истекает очень разумно. Еще один вопрос: истекают ли токены доступа и обновления, когда генерируется новый токен доступа или обновления? Например. если система использовала токен обновления, чтобы получить новый токен доступа и обновить токен, приведет ли это к недействительности старых токенов доступа и обновления, даже если они еще не истекли? Я считаю, что для токена доступа, но не уверен в обновлении токена – scottndecker

+1

@scottndecker Ток обновления также истек. Вы получите (400) неверный запрос, если вы запросите новый токен доступа с предыдущим токеном обновления. –

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