У меня было приложение, которое использовало MSAL и конечную точку v2.0 для входа пользователей и получения токена.График Microsoft: текущий аутентифицированный контекст недействителен для этого запроса
Недавно я изменил его на Адал и нормальной AAD конечной точки (также меняется приложение), и теперь, когда я пытаюсь использовать GraphService я получаю следующее сообщение об ошибке: Current authenticated context is not valid for this request
- мой пользователь администратор
- Все права делегированы
- маркер успешно получен
Вот код, я использую:
public static GraphServiceClient GetAuthenticatedClient()
{
GraphServiceClient graphClient = new GraphServiceClient(
new DelegateAuthenticationProvider(
async (requestMessage) =>
{
string accessToken = await SampleAuthProvider.Instance.GetUserAccessTokenAsync();
// Append the access token to the request.
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("bearer", accessToken);
}));
return graphClient;
}
Вызов метода, когда фактическая ошибка происходит:
try
{
// Initialize the GraphServiceClient.
GraphServiceClient graphClient = SDKHelper.GetAuthenticatedClient();
// Get events.
items = await eventsService.GetMyEvents(graphClient);
}
catch (ServiceException se)
{
}
Получение токена:
public async Task<string> GetTokenAsync()
{
ClientCredential cc = new ClientCredential(appId, appSecret);
AuthenticationContext authContext = new AuthenticationContext("https://login.microsoftonline.com/tenant.onmicrosoft.com");
AuthenticationResult result = await authContext.AcquireTokenAsync("https://graph.microsoft.com", cc);
return result.AccessToken;
}
Не можете найти что-нибудь на этом онлайн, так что я не знаю, как продолжить ,
Я думаю, что «носитель» должен быть «Знаменосец». Я не уверен, что это без учета регистра. – RasmusW
@RasmusW Не должно быть, поскольку он работает с MSAL с «несущим» –
Просьба поделиться телом ошибки, который содержит идентификатор запроса и временную метку, чтобы помочь отладить. –