2016-10-17 4 views
0

Я пытаюсь создать приложение Daemon (только для кода, только для сервера), которое может получить доступ к моей личной учетной записи Microsoft. Я не могу понять, как получить Access_Token, который не истекает (или refresh_token).Graph API - приложение Daemon с доступом к личной учетной записи Microsoft (конечная точка Azure AD V2.0)

Я могу создать рабочий, не истекающий (admin logs only only). Приложение Daemon для моей учетной записи Business Office (Office 365), использующее конечную точку «adminconsent», подробно описанную здесь: https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-protocols-oauth-client-creds/ или здесь: https://blogs.msdn.microsoft.com/tsmatsuz/2016/10/07/application-permission-with-v2-endpoint-and-microsoft-graph/. К сожалению, я не могу использовать конечную точку «adminconsent» с моей личной учетной записью - возвращает ошибку «Эта операция может быть выполнена только администратором». Есть ли способ включить adminconsent для моей личной учетной записи?

ИЛИ

Для моего личного счета, я могу использовать «авторизовать» конечной точки (как описано здесь: https://azure.microsoft.com/en-us/documentation/articles/active-directory-v2-scopes/) и возвращает код (который истекает), который может быть использован для получения «access_token»; который отлично работает в Graph API - до истечения срока действия access_token (3600 секунд). Он не возвращает «refresh_token». Итак, после того, как код/​​токен истекает, он требует, чтобы пользователь снова зашел в систему. Как я могу использовать конечную точку авторизации для получения токенов, которые могут быть обновлены только с помощью кода?

ответ

1

Включите область offline_access, чтобы получить токен обновления. Обязательно замените токен обновления новым, который возвращается каждый раз при обновлении.

+0

Точно, что мне нужно. Теперь я могу получить токен refesh. Я забыл раздел «Автономный доступ» в документации, потому что заголовок не казался связанным с получением токена обновления. –