だから私はangular2アプリケーションに取り組んでおり、ログイン後にJWTを生成して、ユーザーのプロファイル情報を取得できるようにしています。正常にログインでき、それがトークンを生成するときです。ログイン後、ユーザーをプロファイル ページにルーティングし、そこで API を呼び出してユーザー情報を取得します。これはすべて、ログインしてページを更新した後にのみ機能します。
this.auth_service
.Login(this.email, this.password)
.subscribe(
data => {
this.global_events.change_nav_bar.emit(true)
console.log('logged in successfully: ' + data)
this.router.navigate(['/profile'])
})
// 上記の auth_service はこのメソッドを呼び出します
Login(email, password): Observable<boolean>
{
return this.http
.post('/api/login', JSON.stringify({email: email, password: password}), this.Get_Headers('no_auth'))
.map(Handle_Response)
function Handle_Response(response: Response)
{
let token = response.json() && response.json().token
if(token)
{
this.token = token
localStorage.setItem('current_user', JSON.stringify({ email: email, token: token }))
return true
}
else
return false
}
}
// 次に、プロファイル コンポーネントでこれを行います。さまざまなタイムアウト時間を試しました。
ngOnInit(): void
{
this.global_events.change_nav_bar.emit(true)
setTimeout(() => this.Get_User_Data(), 10000)
}