私は公共の方法で、以下の提供私の角度の2アプリでのAuthServiceを得た:ユーザーがユーザーである場合は私の問題があるangular2-jwt Promise/ObservableでtokenNotExpired()を使用していますか?
<button [routerLink]="['/signup']"
*ngIf="!auth.isAuthenticated()">
Sign Up
</button>
で認証された場合、私は確認することができ、テンプレートで
public isAuthenticated(): boolean {
/* check if id_token is expired or not */
return tokenNotExpired();
}
これは正常に動作しました。ユーザーが "/ signup"のルートに移動し、auth0.client.login()
の標識が実行され、ユーザーにサインインした場合、テンプレートは角度変化の検出による変化に気付きます。 これまでのところうまく動作します。
しかし、私は特定のコンポーネントに呼び出されたのAuthServiceの別のメソッド内の機能isAuthenticated()
を使用する場合:
この機能は変更「サインイン」を知りません。それとも別の方法を置くにisAuthenticatedが、今私はisAuthenticated()
状態を「観察」し、それが変更された場合、再びisAuthorized()
を実行するために必要なコンポーネントで。
における記号の前にtrue
の代わりfalse
を返すに変更されるため、更新する必要があります。どのように私はこれを動作させることができますか?
私はこれを数時間で動作させようとして以来、素晴らしい例があります。
私はこれを取得しません –
ブール型のデータ型で変数を作成し、その関数で確認してください。意味が偽か真であるかどうかを確認する。ここではブール値として関数を使用しています。関数の代わりに変数を使用します。内部関数は変数値をチェックすることによって変数値を返します。 –
どこでブール変数を作成し、どの関数でチェックすべきですか? 'let isAuthenticated:boolean = tokenNotExpired()'のようなものですか?どの機能の中に? –