発生している問題
FlutterでFirebase Authenticationを用いてTwitterログインを実装しています。FlutterFireのドキュメント通りに実装したのですが、Twitterログイン画面が表示されて「連携アプリを認証」をタップ後、アプリに戻り、signInWithCredential
を呼んだタイミングで以下のようなエラーが表示されます。
The supplied auth credential is malformed or has expired. [ Failed to fetch resource from https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true, http status: 401, http response: {"errors":[{"code":32,"message":"Could not authenticate you."}]} ]
ソースコード
Dart
1final twitterLogin = TwitterLogin( 2 apiKey: dotenv.env["TWITTER_API_KEY"]!, 3 apiSecretKey: dotenv.env["TWITTER_API_SECRET"]!, 4 redirectURI: "{リダイレクトURI}"); 5 6final authResult = await twitterLogin.login(); 7 8if (authResult.status == TwitterLoginStatus.loggedIn) { 9 try { 10 return await FirebaseAuth.instance.signInWithCredential(cred); // ここでエラー 11 } on FirebaseAuthException catch (e) { 12 handleCredentialError(e); 13 } 14}
試したこと
Twitterログイン部分をライブラリを使わずすべて自前で実装してみましたが、同じエラーが発生しました。Access TokenとSecretも正しく取得できています。
再生成も行いました。
また、APIキーとシークレットはprint
で確認した所正しく取得できています。
環境
pubspec.yaml
(一部省略)
Yaml
1dependencies: 2 flutter: 3 sdk: flutter 4 flutter_localizations: 5 sdk: flutter 6 7 twitter_login: ^4.0.1 8 flutter_dotenv: ^5.0.2 9 10 firebase_core: ^1.10.0 11 firebase_auth: ^3.2.0
その他
Android Studio Bumblebee 2021.1.1 Beta4
Flutter 2.5.3 (Stable)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。