Мы используем сервер hapi JS
, который использует @hapi/bell
со стратегией провайдера Azure для аутентификации пользователей на внутреннем сервере
По сути, скажем, что наш сервер работает на port225.5874.com
, и тамэто маршрут входа в систему https://port225.5874.com/api/v2/user/sso
.Вот наши настройки сервера маршрутов.
routes: {
security: true,
cors: {
origin: [
`${configConst.client.host}:${configConst.client.hostport}`
],
headers: ['Access-Control-Allow-Headers', 'Access-Control-Allow-Origin', 'Accept', 'Authorization', 'Content-Type', 'If-None-Match', 'Accept-language'],
additionalHeaders: ['Access-Control-Allow-Headers: Origin, Content-Type, x-ms-request-id , Authorization'],
credentials: true
}
}
Переход к этому маршруту непосредственно в браузере возвращает нам информацию от провайдера Azure.Однако, если мы пытаемся перейти к этому внутреннему маршруту от внешнего клиента (то есть, локального хоста), мы получим следующую ошибку CORS
Доступ к XMLHttpRequest в 'https://login.microsoftonline.com/... (перенаправлено из 'https://port225.5874.com/api/v2/user/sso') из источника' null 'было заблокировано политикой CORS: в запрошенном ресурсе отсутствует заголовок' Access-Control-Allow-Origin '.
Для нас это звучит как (мы можем ошибаться) Access-Control-Allow-Origin отсутствует в 'https://login.microsoftonline.com/..., но мы, очевидно, не можем его контролировать.
Кажется, что мы пропускаемчто-то в интерфейсе, но не уверен, что это будет. Есть идеи?