Microsoft Graph Identity Java - выбранная учетная запись пользователя не существует в клиенте Microsoft Services. - PullRequest
0 голосов
/ 08 мая 2020

Я хочу получить доступ к календарю Outlook пользователя в моем Java приложении. Для этого я пытаюсь использовать API Microsoft Graph.

Я следую этому руководству: https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-java-webapp, код которого здесь: https://github.com/Azure-Samples/ms-identity-java-webapp/tree/master/msal-java-webapp-sample

Я создал приложение на portal.microsoft.com с типом Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)

Я создал и скопировал keystore.p12 в каталог ресурсов.

My application.properties:

#AAD configuration
aad.clientId=my client id
aad.authority=https://login.microsoftonline.com/my tenant id/
aad.secretKey=my secret key
aad.redirectUriSignin=https://localhost:8443/msal4jsample/secure/aad
aad.redirectUriGraph=https://localhost:8443/msal4jsample/graph/me
aad.msGraphEndpointHost=https://graph.microsoft.com/

#SSL configuration
server.port=8443
server.servlet.session.cookie.secure=true
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=password
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=testCert
server.ssl.key-password=password

Когда я запускаю приложение и получаю доступ к https://localhost:8443, я получаю страницу с кнопкой «Войти». Когда я нажимаю кнопку «Войти», меня перенаправляют на страницу, где я могу выбрать одну из учетных записей Outlook. URL-адрес:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?response_type=code&response_mode=form_post&redirect_uri=https%3A%2F%2Flocalhost%3A8443%2Fmsal4jsample%2Fsecure%2Faad&client_id=ca146462-8880-424c-b629-cc7c0d0fb1b3&scope=openid+offline_access+profile&prompt=select_account&state=69a2ac0f-abac-46ad-b525-88f0b70182b7&nonce=9278f424-6858-4e22-bb13-7b13894abda7

Когда я выбираю учетную запись, я получаю следующую ошибку:

Выбранный пользователь Учетная запись не существует в клиенте «Службы Microsoft» и не может получить доступ к приложению «ca146462-8880-424 c -b629-cc7c0d0fb1b3» в этом клиенте. Сначала необходимо добавить учетную запись в качестве внешнего пользователя в арендаторе. Используйте другую учетную запись.

enter image description here

Я добавил URI перенаправления enter image description here

Почему я получаю сообщение об ошибке?

Обновление:

Я изменил полномочия в application.properties на https://login.microsoftonline.com/common, поэтому теперь я получаю сообщение «Выбрать аккаунт ». Но когда я выбираю учетную запись, я получаю ошибку 403 Forbidden.

Ответы [ 2 ]

1 голос
/ 12 мая 2020

Ошибка 403 Forbidden была проблемой в учебнике, который вы следовали. Из-за обновлений одного и того же сайта в некоторых браузерах response_mode должен быть query (вместо form_post). Если вы попытаетесь запустить образец снова, он должен работать

1 голос
/ 11 мая 2020

Скопируйте решение в комментариях, упомянутых juunas:

Просто используйте « common », если приложение является мультитенантным https://login.microsoftonline.com/common/oauth2/v2.0/authorize

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...