Flutter - Firebase - Twitter身份验证问题

4zcjmb1e  于 2023-06-07  发布在  Flutter
关注(0)|答案(1)|浏览(216)

我正在尝试使用Flutter和Firebase对Twitter进行身份验证。但是在twitter上授权后无法返回我的申请页面。
图片:001 001:启动应用程序登录按钮将重定向到Twitter页面(图002)
002从twitter页面,当我点击授权应用程序,它切换到图像003“social_demo”,这是我的androidmenifest.xml中的应用程序标签。
003然后我点击返回,它重定向到Twitter页面与错误消息图像004.
004最后,如果我关闭这个或点击返回,我得到了调试消息在应用程序“TwitterLoginStatus.cancelledByUser”.
步骤如下:
重定向到Twitter从应用程序

Future signInWithTwitter() async {
    final twitterLogin = TwitterLogin(
      apiKey: "xxxxxxxxxx",
      apiSecretKey: "xxxxxxxxx",
      redirectURI: 'flutter-twitter-auth://',
    );

    await twitterLogin.login().then((value) {
      debugPrint(value.status.toString());
    });
message => TwitterLoginStatus.cancelledByUser

Androidmenifest.xml

<intent-filter>
               <action android:name="android.intent.action.VIEW" />
               <category android:name="android.intent.category.DEFAULT" />
               <category android:name="android.intent.category.BROWSABLE" />

               <data android:scheme="flutter-twitter-auth"/>

           </intent-filter>

pubspec.yaml

# The following adds the Cupertino Icons font to your application.
  # Use with the CupertinoIcons class for iOS style icons.
  cupertino_icons: ^1.0.4
  firebase_auth: ^3.2.0
  google_sign_in: ^5.2.1
  google_fonts: ^2.1.0
  flutter_facebook_auth: ^3.5.6
  twitter_login: ^4.0.1

寻找解决方案…如果有人碰到这个
Twitter:Twitter

omvjsjqw

omvjsjqw1#

我也面临着同样的问题,(查阅了twitter_login: ^4.0.1文档)找到了罪魁祸首。

<data android:scheme="flutter-twitter-auth"/>

将上述内容改为,

<data android:scheme="your_app_name"/>

也替换下面的代码段

final twitterLogin = TwitterLogin(
      apiKey: "xxxxxxxxxx",
      apiSecretKey: "xxxxxxxxx",
      redirectURI: 'flutter-twitter-auth://',
    );

final twitterLogin = TwitterLogin(
      apiKey: "xxxxxxxxxx",
      apiSecretKey: "xxxxxxxxx",
      redirectURI: 'your_app_name://',
    );

最后,twitter开发者帐户中的回调URL应为,

your_app_name://

相关问题