0

私は、ユーザーがFirebaseの認証を使ってTwitter経由でログインできる認証プロセスを作成しています。ログインした後、ユーザのトークンと秘密を保存して、ユーザの代わりにTwitterアクションを実行できるようにしようとしています。リアクションのTwitter用Firebase Auth

export function loginWithTwitter() { 
    return auth.signInWithPopup(provider) 
} 

と私のメインのファイル内に、私は順番にユーザを認証するために、上記の関数を呼び出す関数を呼び出すボタンを実装している:これまでのところ、これは私のログインがどのように見えるかです。それは次のようになります。

login() { 
loginWithTwitter() 
.then((result) => { 
const user = result.user; 
    accessToken = result.credential.accessToken; 
    accessTokenSecret = result.credential.secret; 
    this.setState({ 
    user 
    }); 
}); 
localStorage.setItem(firebaseAuthKey, "1"); 
} 

このコードは、適切にウィンドウをプルアップし、ユーザーとアプリケーションを認証しますがaccessTokenをテストしaccessTokenSecretは値するとき、彼らがこれまでコンソールにそれらをプリントアウトするので入力を受信して​​いないように見えますテストのために未定義の値を返します。私はこれを引き起こしている間違って何か明白なことはありますか?ありがとう!

私が認証を行う方法で使用される最初のリソースはここにある:https://firebase.google.com/docs/auth/web/twitter-login

EDIT:さらにテストのために、私はランダムな整数にaccessTokenとaccessTokenSecretの値を設定し、コード

accessToken = 'changed'; 
の行を追加しましたすぐ下の2番目のコードブロックの

で、accessTokenSecret = result.credential.secretを設定します。プログラムを実行すると、コンソールは変数に割り当てられた初期値を出力し、変更することはありません。何らかの理由で2番目のブロックのコードが実行されることはありませんが、私はまだなぜそれがわかりません。

答えて

0

エラーメッセージ

export function loginWithTwitter() { 
 
// make sure your Firebase OAuth redirect URI (e.g. my-app-12345.firebaseapp.com/__/auth/handler) is set as your Callback URL in your app's settings page on your Twitter app's config in firebase console. You have to sign in for API and secret 
 
    return provider; 
 
} 
 
//import the function loginwithTwiter 
 
//bind this if required. 
 
login=()=> { 
 
var provider = loginWithTwitter(); 
 
firebase.auth().signInWithPopup(provider).then(function (result){ 
 
    var token = result.credential.accessToken; 
 
    var secret = result.credential.secret; 
 
    // The signed-in user info. 
 
    var user = result.user; 
 
    //set this data in your state or anywhere. 
 
    this.setState({ user : user, tok: token }) 
 
}).catch(err => { 
 
    console.log(err.message); 
 
});

を処理してこの方法を試してみてください
関連する問題