0

我们有一个受Azure AD保护的SPA。这似乎工作正常,用户可以。authenticate

我们还有一个 Spring Boot Rest 服务,它也受 Azure AD 保护。当我们尝试GET从例如 chrome 执行操作时,我们被重定向到 Azure 进行身份验证,然后路由回我们得到结果的 rest 服务。

但是,当我们尝试从 SPA 客户端调用此休息服务时,它不起作用。我们的客户端在http://localhost:5010/上运行,当我们尝试访问其余服务时,在客户端本身成功通过 Azure 身份验证后,我们只会重定向到http://localhost:5010/login

这告诉我其余服务无法验证客户端身份验证,但我不明白为什么。

我们adal-angular4SPAspring boot 服务器adal4j中使用。

如何让休息服务接受来自 SPA 客户端的令牌,而不尝试重新验证休息服务?

4

1 回答 1

0

根据评论,您将这些作为标题:

Host: localhost:5010
Connection: keep-alive
Accept: application/json, text/plain, /
X-XSRF-TOKEN: 1c35cf04-25a1-4c59-8429-6e48b8484ef3
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36
Referer: localhost:5010/vesselActivity
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.9,nb;q=0.8
Cookie: XSRF-TOKEN=1c35cf04-25a1-4c59-8429-6e48b8484ef3

只有 Cookie 是 XSRF cookie,因此您的客户端应用程序中似乎缺少授权标头。

于 2017-12-08T13:58:36.577 回答