Кажется, что этот класс должен быть потокобезопасным, поскольку он использует ExecutorService
, но в каждом примере, предоставленном Microsoft, класс используется с фиксированным пулом потоков из 1 потока и новым AuthenticationContext
за каждый звонок.Я смотрю на код, и он кажется потокобезопасным, но, возможно, я что-то упустил.
Вот пример из примера:
try {
service = Executors.newFixedThreadPool(1);
context = new AuthenticationContext(authority + tenant + "/", true,
service);
Future<AuthenticationResult> future = context
.acquireTokenByRefreshToken(refreshToken, new ClientCredential(clientId, clientSecret), null, null);
result = future.get();
} catch (ExecutionException e) {
throw e.getCause();
} finally {
service.shutdown();
}
Вы можете найти образец для веб-приложения здесь .