搜索插件、代码仓与 APP 分类

插件详情v4.4.2

twitter_login

Flutter Twitter 登录插件。用于通过 Twitter API OAuth 服务登录的库

AndroidiOSmacOS
近 30 天下载
7640
喜欢数
117
Pub 分数
150

安装插件

flutter pub add twitter_login

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个 Flutter 插件,通过 OAuth 实现 Twitter 登录,允许用户使用 Twitter 的 API 进行身份验证。该插件简化了在 Android、iOS 和 macOS 平台上与 Twitter 认证服务的集成。插件安全地处理 OAuth 流程,提供访问令牌以授权应用交互。适用于需要 Twitter 作为身份提供商的社会化登录功能的应用程序。支持无缝的用户注册流程和安全的凭据管理。

适合场景

  • 使用 Twitter 的社交登录
  • 通过 Twitter 进行用户身份验证
  • 使用社交账户的应用程序入门
  • 安全的 OAuth 令牌处理
  • 跨平台 Twitter 登录

主要特点

  • OAuth 1.0a 支持
  • Android/iOS/macOS 兼容性
  • 安全的令牌管理
  • 简单 API 集成
  • 内置错误处理

适合对象

  • 需要 Twitter 登录的应用
  • 开发社交功能的开发者
  • 跨平台移动应用
  • 以身份验证为重点的应用程序
  • 使用基于 OAuth 的身份提供商的项目

使用建议

  • 需要 Twitter 开发者账户
  • 需要在 Twitter 开发者门户中进行正确的应用配置
  • 仅限 OAuth 1.0a(不支持 OAuth 2.0)
  • 取决于 Twitter API 的可用性
  • 可能需要额外的隐私政策披露

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

twitter_login

Pub Version

Flutter Twitter Login Plugin

Requirements

  • Dart sdk: ">=2.12.0-0 <3.0.0"
  • flutter: ">=1.25.0-8.1.pre"
  • Android: minSdkVersion 17 and add support for androidx
  • iOS: --ios-language swift, Xcode version >= 11

Twitter Configuration

Twitter Developer

required to create TwitterApp.
this plugin is need Callback URLs.

please register a different callback URL on Twitter Developers.

app_name://

If the API is not set to get email, email may be null. If you want to use email, turn on Request email address from users.

Android Configuration

Add intent filters for incoming links

/example/android/app/src/main/AndroidManifest.xm

You need to replace the scheme with a Callback URLs.

<intent-filter>
  <action android:name="android.intent.action.VIEW" />
  <category android:name="android.intent.category.DEFAULT" />
  <category android:name="android.intent.category.BROWSABLE" />
  <!-- Accepts URIs that begin with "example://gizmos” -->
  <!-- Registered Callback URLs in TwitterApp -->
  <data android:scheme="example"
        android:host="gizmos" /> <!-- host is option -->
</intent-filter>
Supporting the new Android plugins APIs

If you flutter created your project prior to version 1.12, you need to make sure to update your project in order to use the new Java Embedding API.
Make use you have flutter_embedding v2 enabled. Add the following code on the manifest file inside tag to enable embedding.
Flutter wiki: Upgrading pre 1.12 Android projects.

<meta-data
    android:name="flutterEmbedding"
    android:value="2" />

iOS Configuration

Add URLScheme

/example/ios/Runner/Info.plist

You need to replace the example with a Callback URLs.

<key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleTypeRole</key>
    <string>Editor</string>
    <key>CFBundleURLName</key>
    <string></string>
    <key>CFBundleURLSchemes</key>
    <array>
      <!-- Registered Callback URLs in TwitterApp -->
      <string>example</string>
    </array>
  </dict>
</array>

Example code

See the example directory for a complete sample app using twitter_login.

example

Usage

To use this plugin, add twitter_login as a dependency in your pubspec.yaml file.

Example
import 'package:flutter/material.dart';
import 'package:twitter_login/twitter_login.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Twitter Login App'),
        ),
        body: Center(
          child: FlatButton(
            child: Text('Login With Twitter'),
            onPressed: () async {
              final twitterLogin = TwitterLogin(
                // Consumer API keys
                apiKey: 'xxxx',
                // Consumer API Secret keys
                apiSecretKey: 'xxxx',
                // Registered Callback URLs in TwitterApp
                // Android is a deeplink
                // iOS is a URLScheme
                redirectURI: 'example://',
              );
              final authResult = twitterLogin.login();
              switch (authResult.status) {
                case TwitterLoginStatus.loggedIn:
                  // success
                  break;
                case TwitterLoginStatus.cancelledByUser:
                  // cancel
                  break;
                case TwitterLoginStatus.error:
                  // error
                  break;
              }
            },
          ),
        ),
      ),
    );
  }
}

所属分类

依赖

依赖清单 2 项

源码仓库

使用此插件的项目