Oauth2 refre sh токенов - PullRequest
       5

Oauth2 refre sh токенов

1 голос
/ 16 июня 2020

Прямо сейчас моя компания запускает приложение java, которое использует IMAP и SMTP для чтения / отправки электронной почты без взаимодействия с пользователем. Мы используем протокол аутентификации Basi c Authentication. Microsoft объявляет об окончании поддержки аутентификации Basi c, которая будет заменена на Oauth2. К сожалению, они не предоставили четкого решения для приложений без взаимодействия с пользователем. https://docs.microsoft.com/en-gb/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth

Одна из моих идей состоит в том, чтобы пользователи аутентифицировали себя (используя поток кода авторизации Oauth2) только один раз, при первом запуске службы. Затем токены refre sh будут использоваться для получения токенов доступа без взаимодействия с пользователем. Очень важно, чтобы соединение не было прервано из-за коротких сроков действия или отзыва. Вероятно, не будет никого, кто мог бы повторно пройти аутентификацию, если приложение не сможет получить новые токены доступа.

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

Кто-нибудь знает об этом больше? Мне бы очень помогло узнать, является ли моя идея жизнеспособным подходом.

1 Ответ

0 голосов
/ 16 июня 2020

Токены доступа могут обновляться автоматически. Но для меня больше информации о провайдере c Я нашел здесь некоторую информацию об истечении срока действия токена refre sh

https://docs.microsoft.com/en-us/linkedin/shared/authentication/programmatic-refresh-tokens

Согласно этой ссылке Доступ к токенам LinkedIn и refre sh истекает максимум через 365 дней.

Также, если вы видите эту ссылку, в ней говорится, что срок действия токена refre sh истекает через 90 дней, если он неактивен, но нигде не сказано, что он истечет если активен.

https://docs.microsoft.com/en-us/office365/enterprise/session-timeouts

Можете ли вы предоставить ссылку на API, который вы пытаетесь использовать, чтобы я нашел дополнительную информацию о нем (возможно)

...