Время жизни токена O365 MS Graph Unified API

У меня есть два вопроса об использовании токенов и сроке их действия:

1) о секретном коде пользователя для приложения

Мне нужен секретный код для аутентификации. При создании секретного кода в приложении его можно определить со сроком действия один или два года. Моя цель — приложение, которое пользователь устанавливает, настраивает и о нем можно «забыть». Но это истечение может означать, что приложение начнет давать сбой через год, верно? Пользователь начнет получать ошибки токена, и ему придется заново настроить приложение (сгенерировать новый секретный ключ и аутентифицироваться с его помощью). Могу ли я узнать срок действия секретного ключа, чтобы я мог настроить уведомление для пользователя ДО истечения срока его действия? Я хотел бы сделать это, чтобы приложение не перестало работать внезапно.

2) аутентификация клиента выполняется в два этапа:

  • один: идентификатор клиента приложения + секретный ключ клиента + источник + аутентификация пользователя = код
  • два: идентификатор клиента приложения + секретный ключ клиента + код = токен + токен обновления

Я обнаружил, что если я делаю первый шаг и хочу выполнить второй шаг позже, срок действия «кода» из первого шага может истечь. Я думал, что срок действия «кода» не истекает, но я не могу найти никакой документации по этому поводу. Правильно ли, что второй шаг следует выполнять сразу после первого?


person MiroJanosik    schedule 12.02.2016    source источник
comment
Это для приложения, которое будет работать на устройстве пользователя (компьютер, телефон и т. д.)?   -  person Philippe Signoret    schedule 16.02.2016
comment
Нет, это должно быть для приложения, которое будет работать как служба/лазурь. Возможно, вместо этого мне следует использовать этот подход: вызовы службы для обслуживания с использованием учетных данных клиента msdn .microsoft.com/en-us/library/azure/dn645543.aspx   -  person MiroJanosik    schedule 16.02.2016


Ответы (1)


1) Если это веб-служба, вы можете использовать поток предоставления учетных данных клиента OAuth 2.0. С учетом безопасности я бы посоветовал вам периодически поддерживать/обновлять секретный ключ, срок действия секретного ключа может составлять один или два года. Если секретный ключ скомпрометирован, необходимо сгенерировать новый, и все авторизованные приложения должны быть обновлены новым секретом клиента.

2) Вы можете нажать здесь, чтобы узнать, как использовать OAuth. 2.0 для аутентификации. В ответе токена доступа Service-to-Service вы получите информацию expires_in (как долго действует токен доступа) и expires_on (время истечения срока действия токена доступа). Вы должны написать свой код, чтобы предвидеть возможность того, что предоставленный токен может больше не работать, и запросить новый.

person Nan Yu    schedule 18.02.2016