#asp.net #asp.net-web-api #microsoft-graph-api #microsoft-graph-sdks
#asp.net #asp.net-web-api #microsoft-graph-api #microsoft-graph-sdks
Вопрос:
У меня есть ASP.NET Основной веб-API, который должен получить доступ к microsoft graph API, прошедшему проверку подлинности как он сам. Не «от имени» пользователя, вошедшего в систему. (т. Е. с использованием потока учетных данных клиента)
В обработчике HTTP-запроса мне нужно использовать объект GraphServiceClient от Microsoft.Пакет графического NuGet.
В настоящее время я настроил его так, что у меня есть одноэлементная служба «MsGraphClient». В конструкторе этой службы я создаю экземпляр своего GraphServiceClient, используя TenantId, ClientID и clientSecret .
public MsGraphClient(IOptions<AppConfig> config)
{
...
var clientSecretCredential = new ClientSecretCredential(this.tenantId, this.clientId, this.clientSecret);
this.graphClient = new GraphServiceClient(clientSecretCredential, scopes);
}
Затем я использую this.graphClient в своих обработчиках запросов для взаимодействия с microsoft graph.
Я основал свою настройку GraphServiceClient на этом примере от Microsoft. Однако этот пример является консольным приложением. Меня беспокоит то, что, поскольку у меня есть API, который создает экземпляр GraphServiceClient в конструкторе одноэлементной службы, токен доступа в какой-то момент истечет, и this.graphClient больше не будет работать.
Заботится ли GraphServiceClient об обновлении токенов доступа? Есть ли лучший способ, которым я мог бы это настроить?
Комментарии:
1. Я изложил свою идею в вашем другом вопросе. Если вы чувствуете, что это полезно для вас, не могли бы вы принять это как ответ, чтобы закончить это дело?