Используя токен Office 365, полученный из javascript с помощью Microsoft.Graph C # API - PullRequest
0 голосов
/ 17 октября 2018

Я долго искал ответ и не мог его найти.

Я пытаюсь объединить токен, полученный на клиенте (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?

...