Я включаю OAuth2 в SPA следующим образом:
- Неявный тип предоставления является единственным поддерживаемым типом предоставления
- Приложение My Angular 5 использует HashLocationStrategy для своей маршрутизации
Я не могу изменить ни одно из этих ограничений.
При входе в приложение и перенаправлении URL-адрес перенаправления из конечной точки авторизации выглядит следующим образом:
http://foo/#access_token=(ey...)&token_type=bearer&state=(state...)&expires_in=43199&jti=(jti...)
Это соответствует ожиданиям согласно спецификации OAuth2;параметры, присутствующие в URL перенаправления, должны быть добавлены в виде фрагмента (после «#»).
Проблема, с которой я столкнулся, заключается в том, что Angular интерпретирует символы, следующие за хешем, в соответствии со своей стратегией определения местоположения хеша.Он пытается перенаправить на путь access_token=...
, который не существует.
Как мне обойти это?