2

У меня есть следующий вызов POST, который мне нужно сделать. Однако, даже если я предоставил правильный идентификатор клиента и секретный идентификатор, мой звонок отклоняется.Неверный клиентский ключ Microsoft Graph REST API

curl POST https://login.microsoftonline.com/f02....e3/oauth2/token 
-H 'Content-Type: application/x-www-form-urlencoded' --data 'grant_type=authorization_code&redirect_uri=https://requestb.in/ac& 
source=https://graph.microsoft.com&client_id=1e1....-913d9 
&client_secret=YmbSFYz.....4Uk=&scope=mail.read&code=AaAAA........on0a569' 

Это ошибка я получаю:

curl: (6) Could not resolve host: POST 
    {"error":"invalid_client","error_description":"AADSTS70002: 
Error validating credentials. AADSTS50012: Invalid client secret is 
provided.\r\nTrace ID: 78d...a2b\r\nCorrelation ID: 
01....ab2\r\nTimestamp: 2016-12-14 01:46:47Z","error_codes":[70002,50012],"timestamp":"2016-12-14 01:46:47Z","trace_id":"78d....a2b","correlation_id":"018.....ab2"} 

Как я могу решить эту проблему?

EDIT: Я пытаюсь достигнуть второй секции (т.е. получение маркера) в this documentation

+0

Является ли ваш 'redirect_uri' таким же, как тот, который вы ввели при регистрации своего приложения? –

+0

да. Если они разные, это проблема? – WowBow

ответ

4

Пост вы предоставили задействует AAD V2 конечную точку. Но согласно вашему фрагменту кода, вы использовали конечную точку V1 https://login.microsoftonline.com/f02....e3/oauth2/token. Для получения токена доступа через конечную точку V1 вы можете обратиться к https://graph.microsoft.io/en-us/docs/authorization/app_authorization для получения более подробной информации.

Для конечной точки авторизации V2, вы можете проверить конечные точки вы используете:

GET https://login.microsoftonline.com/common/oauth2/v2.0/authorize?...

POST https://login.microsoftonline.com/common/oauth2/v2.0/token

А также требуется приложение v2.0 объявления:

Эта статья предполагает регистрацию v2.0, поэтому вы зарегистрируете свое приложение на Application Registration Portal.

+0

Спасибо, что объяснили это. После того, как я сначала попробовал v2.0 для авторизационного кода, я обнаружил следующие ошибки: AADSTS70001: Приложение «1e15 ... 53d9» не поддерживается для этой версии API. – WowBow

+0

Это означает, что ваша доза AD-приложения не поддерживает конечную точку версии 2.0. Для регистрации приложения v2.0 вы можете обратиться к https://docs.microsoft.com/en-us/azure/active-directory/active-directory-v2-app-registration –

+0

, если он может поддерживать как Office и Outlook, я могу настроить приложение на использование v2. – WowBow

1

Я использую пакет NPM:

Microsoft Azure Active Directory Passport.js Plug-In

с v1 арендатора конкретной конечной точки.

Первоначально я получил такое же сообщение об ошибке после успешного входа в Microsoft: «Invalid Client Secret».

Я использовал «Идентификатор приложения» в качестве секретности клиента. Потом я обнаружил, что вам нужно перейти на вкладку «Параметры» в Microsoft Azure Portal

Microsoft Azure

и создать новый «ключ». Неважно, что вы называете ключом. Когда вы нажимаете кнопку «Сохранить», значение ключа будет заполнено в веб-форме. Скопируйте это сразу, так как он не будет отображаться снова, если веб-страница обновится.

Это «Клиентская тайна», которую вы должны добавить в свою конфигурацию.

 Смежные вопросы

  • Нет связанных вопросов^_^