Google UserService logoutUrl с Angular #

0

Я использую Google UserService, чтобы получить URL входа и выхода из системы для моего приложения Engine Angular Application и пытаюсь передать путь для перенаправления в качестве параметра запроса. Это пример Углового URL:

http://localhost:8080/#/dashboard

В Java я пытаюсь создать Url следующим образом:

String logoutUrl = UserServiceFactory.getUserService().createLogoutURL(redirectPath);

redirectPath - это строка параметров запроса "#/dashboard", как и ожидалось.

Проблема в том, что URL-адрес, созданный с включенным "#", не работает. Он просто перенаправляет себе новый URL-адрес. Ниже приведен пример того, как выглядит URL-адрес, который создается в UserService:

/_ah/logout?continue=%23%2Fdashboard

Если я просто передаю строку "/" в конечную точку, я получаю такой URL:

/_ah/logout?continue=%2F

Это работает так, как ожидалось, и загружает мое угловое приложение в корневом документе. Я бы очень хотел, чтобы мои UserService URLS работали так, как ожидалось. Есть идеи?

Это URL-адрес, с которого он перенаправляется по указанному выше URL-адресу:

http://localhost:8080/_ah/logout?continue=%23%2Fdashboard#/dashboard
  • 0
    Не могли бы вы предоставить HTTP заголовки / более подробную информацию об этом « странном перенаправлении »?
  • 0
    Я добавил URL перенаправления на вопрос.
Теги:
angular-ui-router
google-app-engine
gae-userservice

1 ответ

0
Лучший ответ

Я нашел решение проблемы. UserService отлично работает, если я отправляю полный URL, а не только путь к ресурсу. Мой угловой код теперь выглядит следующим образом. Приложение получит URL-адрес входа в систему и затем перенаправит запрашиваемый URL-адрес при входе в систему. Это на самом деле в службе, но я упростил код для StackOverflow.

$http({
    url: '/rest/user/login_uri?redirectPath=' + encodeURIComponent($location.absUrl()),
    method: 'GET',
    contentType: "application/json"
}).success(function (data) {
    $window.location.href = data.uri;
}).catch(function (data) {
    //Handle failed request....
});

Надеюсь, это поможет кому-то идти по дороге.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню