Интеграция Angular Application и Spring Boot с Azure AD - PullRequest
1 голос
/ 18 июня 2019

Я создаю приложение, используя угловую и пружинную загрузку.Мне нужно использовать Azure AD для единого входа из внешнего интерфейса, а затем защитить сервисы весенней загрузки с помощью токена.(Короче говоря, мой angular соединится с офисом 365 для входа в систему, а затем пользователь подтвердит подлинность подключения с помощью Spring Security, где он проверит токен, если он действителен, даст ответ.) В angular я использую adal-angular4 и вspring boot azure-active-directory-spring-boot-starter.Кроме того, как зарегистрировать приложение (интерфейс и бэкэнд) на портале Azure AD.

Я пробовал использовать какую-то статью.Я получаю ответ от почтальона, когда нажимаю на URL с помощью токена.

{
    "code": 500,
    "status": "failure",
    "path": "/api/echo",
    "message": "com.microsoft.aad.adal4j.AuthenticationException: {\"error_description\":\"AADSTS500131: Assertion audience does not match the Client app presenting the assertion. The audience in the assertion was '48eb1c7f-e02b-43a9-913a-XXXXXXXX' and the expected audience is 'a3edefea-1ff3-43ed-b2d7-=XXXXXXXXXXXXX' or one of the Application Uris of this application with App ID 'a3edefea-1ff3-43ed-b2d7-=XXXXXXXXXX'(PulseBE).\\r\\nTrace ID: 2aced69c-f12d-4b5d-97db-XXXXXXXXXX\\r\\nCorrelation ID: 226816c8-a2ed-488c-86ec-XXXXXXXXXXXXXXXX\\r\\nTimestamp: 2019-06-17 19:10:34Z\",\"error\":\"invalid_grant\",\"error_uri\":\"https:\\/\\/login.microsoftonline.com\\/error?code=500131\"}",
    "timeStamp": "Tue Jun 18 00:40:35 IST 2019",
    "trace": null
}

1 Ответ

0 голосов
/ 19 июня 2019

iamelix, у меня была такая же проблема.Моя проблема заключалась в том, что мои URL авторизации и токена не содержали параметр ресурса.

Ниже приведены формат URL авторизации Azure и URL токена.

Почтальон Azure AD

Формат URL авторизации : https://login.microsoftonline.com/[tenant_id]/oauth2/authorize?resource=[application_id]

Формат URL токена доступа : https://login.microsoftonline.com/[tenant_id]/oauth2/token?resource=[application_id]

Ключ для менядобавлял параметр resource в URL-адрес авторизации и URL-адрес токена, а теперь в мой запрошенный токен входит действительная аудитория, поэтому он принимается Azure AD без ошибок.Я нашел вышеуказанную информацию из этой очень полезной статьи: https://www.bruttin.com/2017/11/21/azure-api-postman.html

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