Ioni c 4 firebase телефонная аутентификация перенаправляет новых пользователей на определенную страницу - PullRequest
1 голос
/ 26 марта 2020

Я использую проверку подлинности телефона firebase в моем приложении ioni c 4. Я успешно реализовал аутентификацию jwt. Если токен доступен, я перенаправляю пользователей на главную страницу, а затем перенаправляю на страницу входа.

Но на странице входа возникает проблема. Если пользователь новый (приходит впервые), я хочу перенаправить на страницу сведений, чтобы получить другие данные, такие как электронная почта, имя, еще (старый пользователь), перенаправить на главную страницу.

Проблема у меня нет разных кнопок для входа в систему и регистрации в моем приложении. Для входа и регистрации используется один и тот же логин

Как лучше всего проверить, является ли пользователь новым или старым? Последнее решение заключается в проверке пользователя в базе данных и соответствующем перенаправлении.

Вот мой код

authentication.service.ts

authenticationState = new BehaviorSubject(false);

    constructor(private storage: StorageService, private plt: Platform, private router: Router) {

        this.plt.ready().then(() => {
          this.checkToken();
        });
       }

       checkToken() {
        this.storage.get(TOKEN_KEY).then(res => {
          if (res) {
            this.authenticationState.next(true);
          }
        })
      }

      login() {
        return this.storage.set(TOKEN_KEY, 'Bearer 1234567').then(() => {
          this.authenticationState.next(true);
        });
      }

      logout() {
        return this.storage.clear().then(() => {
          this.authenticationState.next(false);
          this.router.navigate(['home'])

        });
      }

      isAuthenticated() {
        return this.authenticationState.value;
      }

app.component.ts

constructor(private authenticationService: AuthenticationService){
    this.authenticationService.authenticationState.subscribe(state => {
            if (state) {
              this.router.navigate(['menu/items']);
            } else {
              this.router.navigate(['home']);
            }
          });
}

home.page.ts

if(old user) {
// redirect to main page
}

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