0
初めてのスタックオーバーフローのポスターここに!Firebase:認証トークンをパーズできません
私はAngular 4のチュートリアルに続き、Firebase(リンク:)の認証セクションを完成させています。私は正常にサインアップしてログインすることができましたが、ユーザーのトークンを「getIdToken」を介してGETリクエストに渡して、認証されたユーザーに特定のアクションを制限する際にエラーを受け取りました。私はまた、コードにコンソールからのトークンをコピーして貼り付けるとき
私が投稿したこの問題が発生する
* Response {_body: "{↵ "error" : "Could not parse auth token."↵}↵", status: 401, ok: false, statusText: "Unauthorized", headers: Headers…}
:
私のGETリクエストに自分のトークンを渡し、私は次のエラーを取得しますデバッグ用以下(潜在的に)最も関連コード:
header.component.ts
onFetchData() {
this.dataStorageService.getRecipes();
}
データstorage.service.ts
getRecipes() {
const token = this.auth.getTokenGrabber()
this.http.get('https://recipes-fe1ba.firebaseio.com/.json?auth=' + token)
.map(
(response: Response) => {
console.log(response.json())
const recipes: Recipe[] = response.json();
for (let recipe of recipes) {
if (!recipe['ingredients']) {
recipe['ingredients'] = [];
}
}
return recipes;
}
)
.subscribe(
(recipes: Recipe[]) => {
this.recipeService.setRecipes(recipes);
}
);
}
authentication.service.ts
signinUser(email, password){
firebase.auth().signInWithEmailAndPassword(email, password)
.then(
(response) => {
firebase.auth().currentUser.getIdToken(
).then(
(token:string) => {
// console.log(token)
this.token = token
console.log('user was found')
// console.log(this.token)
}
)
}
).catch((erorr) => {
console.log('user was not found')
}
)
}
getTokenGrabber(){
firebase.auth().currentUser.getIdToken()
.then(
(token:string) =>
this.token = token
)
return this.token
}
}