Flutter身份验证插件flutter_authgear的使用
Flutter身份验证插件flutter_authgear的使用

Authgear SDK for Flutter #
通过Authgear SDK for Flutter,您可以轻松地将身份验证功能集成到您的Flutter应用中。通常情况下,只需要几行代码就可以启用多种身份验证方法,例如社交登录、无密码登录、生物识别登录、短信/WhatsApp验证码以及多因素认证(MFA)。
快速链接 - 📚 文档 🏁 开始使用 🛠️ 疑难解答 👥 贡献
什么是Authgear? #
Authgear 是一个高度可适应的身份即服务(IDaaS)平台,适用于Web和移动应用程序。Authgear通过将其集成到各种类型的应用程序中(从单页Web应用到移动应用再到API服务)来简化用户身份验证的实现。
关键特性 #
- 使用OpenID Connect(OIDC)标准的零信任身份验证架构。
- 包含电子邮件、电话、用户名作为登录ID,以及密码、一次性密码(OTP)、魔法链接等的易于使用的注册和登录界面。
- 支持广泛的身份提供商,如Google、Apple和Azure Active Directory(AD)。
- 支持移动设备上的生物识别登录、Passkeys和多因素认证(MFA),如基于短信/邮件的验证和TOTP认证器应用。
文档 #
- 查看SDK API参考: https://authgear.github.io/authgear-sdk-flutter/
- 了解如何通过管理门户或管理API管理用户。
查看其他Authgear文档: https://docs.authgear.com/
开始使用 #
请遵循以下简单步骤开始使用:
疑难解答 #
请查看我们的求助以获取常见安装问题和其他问题的解决方案。
提出问题 #
若要提供反馈或报告错误,请在问题跟踪器上提出问题。
贡献 #
任何希望为本项目做出贡献的人都非常欢迎,无论是文档、功能、错误修复、代码清理、测试还是代码审查。只需在Authgear Discord服务器(#trouble)或GitHub Authgear的讨论板上举手加入。
如果您不熟悉如何为GitHub项目做贡献,可以查阅入门指南。一套完整的贡献指南及相关模板正在筹备中。
支持和维护 #
Authgear是一个高度可适应的身份即服务(IDaaS)平台,适用于Web和移动应用程序。了解更多请访问[网站](https://www.authgear.com/)
完整示例代码
import 'package:flutter/material.dart';
import 'package:flutter_authgear/flutter_authgear.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Authgear Flutter Example'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
ElevatedButton(
onPressed: () async {
// 初始化Authgear SDK
await Authgear.init(
authgearUrl: 'https://<your-authgear-instance>.authgearapp.com',
clientId: '<your-client-id>',
clientSecret: '<your-client-secret>',
);
// 登录
try {
var result = await Authgear.signIn();
print('User signed in: $result');
} catch (e) {
print('Login failed: $e');
}
},
child: Text('Sign In'),
),
ElevatedButton(
onPressed: () async {
// 注销
try {
await Authgear.signOut();
print('User signed out');
} catch (e) {
print('Sign out failed: $e');
}
},
child: Text('Sign Out'),
),
],
),
),
),
);
}
}
说明
-
初始化Authgear SDK:
await Authgear.init( authgearUrl: 'https://<your-authgear-instance>.authgearapp.com', clientId: '<your-client-id>', clientSecret: '<your-client-secret>', );
这一步需要替换
authgearUrl
、clientId
和clientSecret
为您的实际值。 -
登录:
var result = await Authgear.signIn(); print('User signed in: $result');
这会触发用户登录流程。登录成功后,您可以处理返回的结果。
-
注销:
await Authgear.signOut(); print('User signed out');
更多关于Flutter身份验证插件flutter_authgear的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter身份验证插件flutter_authgear的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,下面是一个使用Flutter身份验证插件flutter_authgear
的示例代码案例。这个示例将展示如何集成flutter_authgear
进行用户注册和登录。
首先,确保你已经在pubspec.yaml
文件中添加了flutter_authgear
依赖:
dependencies:
flutter:
sdk: flutter
flutter_authgear: ^最新版本号
然后运行flutter pub get
来安装依赖。
接下来,在你的Flutter应用中,你需要初始化AuthGear客户端,并进行用户注册和登录。以下是一个基本的示例:
import 'package:flutter/material.dart';
import 'package:flutter_authgear/flutter_authgear.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter AuthGear Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: AuthScreen(),
);
}
}
class AuthScreen extends StatefulWidget {
@override
_AuthScreenState createState() => _AuthScreenState();
}
class _AuthScreenState extends State<AuthScreen> {
final AuthGear _authGear = AuthGear(
endpoint: 'https://your-authgear-endpoint.com', // 替换为你的AuthGear端点
clientId: 'your-client-id', // 替换为你的客户端ID
);
Future<void> _registerUser() async {
try {
var user = await _authGear.register(
username: 'testuser',
password: 'password123',
);
print('User registered: ${user.id}');
} catch (e) {
print('Error registering user: $e');
}
}
Future<void> _loginUser() async {
try {
var session = await _authGear.login(
username: 'testuser',
password: 'password123',
);
print('User logged in: ${session.accessToken}');
} catch (e) {
print('Error logging in user: $e');
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('AuthGear Demo'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ElevatedButton(
onPressed: _registerUser,
child: Text('Register'),
),
SizedBox(height: 20),
ElevatedButton(
onPressed: _loginUser,
child: Text('Login'),
),
],
),
),
);
}
}
解释
- 依赖导入:确保在
pubspec.yaml
中添加了flutter_authgear
依赖。 - AuthGear初始化:在
AuthScreen
类中初始化AuthGear
实例,提供AuthGear的端点和客户端ID。 - 注册用户:
_registerUser
方法使用AuthGear
实例的register
方法进行用户注册。这里我们使用了用户名和密码作为示例。 - 登录用户:
_loginUser
方法使用AuthGear
实例的login
方法进行用户登录。同样,这里我们使用了用户名和密码。 - UI界面:在
AuthScreen
的build
方法中,我们创建了两个按钮,分别用于触发注册和登录操作。
请注意,你需要将https://your-authgear-endpoint.com
和your-client-id
替换为你实际的AuthGear端点和客户端ID。此外,这个示例仅展示了基本的注册和登录功能,实际应用中可能需要处理更多的错误情况和用户交互。
希望这个示例能帮助你快速上手flutter_authgear
的使用!