URL изменить в угловых - PullRequest
       5

URL изменить в угловых

0 голосов
/ 13 сентября 2018

У меня есть угловое приложение (angular 6), в котором реализована keycloakAuthentication, если пользователь не аутентифицирован, угловое приложение перенаправляет пользователя на эту служебную страницу (третье лицо), когда пользователь успешно прошел аутентификацию, он перенаправляет на наш угловой веб-сайт.

Теперь я сталкиваюсь с проблемой протокола HTTP, если пользовательский тип http://portal.cloud.com будет перенаправлен на страницу keycloakAuthentication, но URL-адрес перенаправления (http://portal.cloud.com) недействителен, поскольку он аутентифицирует только URL-адрес https, как я могу изменить URL в этом случае означает, что если пользователь типа http://portal.cloud.com приложение автоматически преобразует его в https://portal.cloud.com и отправит его на страницу keycloakAuthentication. Я попробовал какое-то решение, например, реализованное authguard, как показано ниже:

import {Injectable, isDevMode} from '@angular/core';
import {CanActivate} from '@angular/router';

@Injectable()
export class IsSecureGuard implements CanActivate {

  canActivate(): boolean {
    if ((isDevMode()) && (location.protocol !== 'https:')) {
      location.href = 'https:' + window.location.href.substring(window.location.protocol.length);
      return false;
    }
    return true;
  }

}

но он не работает должным образом, пожалуйста, предложите какое-нибудь решение для изменения URL при загрузке.

1 Ответ

0 голосов
/ 13 сентября 2018

Вы можете упростить реализацию, разрешив перенаправление на HTTPS до того, как пользователь достигнет вашего приложения, настроив для этого NGINX, например:

Смотрите здесь как: https://serverfault.com/questions/67316/in-nginx-how-can-i-rewrite-all-http-requests-to-https-while-maintaining-sub-dom

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