Сохранение аутентификации в веб-приложении с помощью Power BI

У меня есть веб-приложение, использующее Power BI Web API для отображения некоторых данных панели мониторинга внутри другого приложения. Я следил за примерами аутентификации на GitHub и могу аутентифицировать и запрашивать API.

ОДНАКО, все примеры хранят возвращенные токены во временном хранилище (например, в сеансе), что означает, что пользователь должен повторно аутентифицировать приложение при каждом посещении (или при перезапуске пула приложений).

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

Это возможно? Если да, то как я могу это сделать? Все примеры, которые я могу найти, таковы, что вам придется повторно аутентифицироваться каждый раз, когда вы обращаетесь к API. Я подозреваю, что, поскольку я не знаю здесь правильной терминологии (я впервые использую службы AAD и аутентификацию), я могу упустить что-то очевидное.


person Tim    schedule 19.10.2015    source источник


Ответы (1)


Чтобы делать то, что вы хотите, вам необходимо надежно хранить токен обновления. Вызов для получения начального токена должен возвращать как accessToken (который обычно истекает в течение 1 часа), так и refreshToken, который вы можете использовать для получения нового accessToken. RefreshToken обычно действителен в течение 90 дней, поэтому ваш доступ не может быть бесконечным. В MSDN есть документация о том, как это сделать: https://msdn.microsoft.com/en-us/library/ff752395.aspx

person Lukasz P.    schedule 13.11.2015