Я долго искал ответ и не мог его найти.
Я пытаюсь объединить токен, полученный на клиенте (javascript), с бэкэндом, написанным на C #.Эта комбинация работает для Facebook и Google API, но не для Microsoft.Я получил токен и перенаправил его на сервер, но когда я пытаюсь использовать его для получения информации профиля, я получаю эту ошибку:
{Code: InvalidAuthenticationTokenMessage: Access token validation failure.Inner error}
Когда я использовал этот токен с javascript microsoft api (MicrosoftGraph.Client)это сработало, и я получил информацию о пользователях, но мне нужно получить их на сервере, не отправляя их с клиента (я должен отправить только токен доступа).
Это ссылка, по которой я получаю токен с перенаправлением на мойстраница в javascript: https://login.microsoftonline.com/common/oauth2/v2.0/authorize?
Это мой код на стороне сервера, который должен получить информацию о профиле из токена, но сообщает об ошибке:
//accessToken is from javascript
var graphServiceClient = new GraphServiceClient(new DelegateAuthenticationProvider((requestMessage) => {
requestMessage
.Headers
.Authorization = new AuthenticationHeaderValue("bearer", accessToken);
return Task.FromResult(0);
}));
// Get the current user's profile.
var me = graphServiceClient.Me.Request().GetAsync().Result;
Можно ли это сделать, и если токен был включенклиент будет совмещен с сервером API?