如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南

言鼎科技 2023-06-25 320

简介:在 Flutter 中使用 AWS Amplify 集成身份验证

您是否遇到过在 Flutter 中使用 AWS Amplify集成身份验证的客户需求?您是否陷入困境并想知道从哪里开始?或者,您只是一个好奇的 Flutter 爱好者,想了解如何使用 AWS amplify 对您的 Flutter 应用程序进行身份验证?如果是,那么我们随时为您提供帮助!这是 aws amplify 教程,我们将在其中提供使用 AWS amplify 对 flutter 应用程序进行身份验证的完整指南。我们将涵盖技术和理论部分。所以,事不宜迟,让我们开始吧!

什么是 AWS 放大?

AWS Amplify 身份验证是一组工具、功能和库,可帮助在 AWS 上构建和托管 Web 应用程序和移动应用程序。Amplify 支持各种框架和平台,如 JavaScript、Vue、Next.Js,以及移动平台,如 IOS、Android、Flutter、React Native、Ionic。AWS 扩大了使用的用户界面组件和 CLI(命令行界面)包来为 Web 和移动应用程序构建应用程序后端。

在开发和学习如何在 Flutter 中使用 AWS amplify集成身份验证之前,请交叉检查以下先决条件。

先决条件

  • 安装的NodeJSNode 包管理器

  • 安装最新版本的Flutter

  • 设置您的 IDE

  • 安装了 Amplify CLI 的 Flutter Developer Preview。如果您的系统上没有安装它,请使用以下命令

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南
npm install -g @aws-amplify/ cli@flutter-preview
  • 一个 AWS 账户。

注意: @aws-amplify/cli 的现有版本将无法使用;您可能需要安装最新的 flutter-preview 版本。

安装依赖

以下是使用 AWS amplify 验证 flutter 应用程序所需的一些依赖项。只需按照说明和命令进行安装即可。

在 pubspec.yaml 文件中将 Flutter Amplify 包导入到您的项目中

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南
amplify_core: '<1.0.0'   amplify_auth_cognito: '<1.0.0'

获取 Amplify 包

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南
颤振酒吧得到 

验证 Amplify CLI 的版本

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南
放大版本

注意:此命令的输出应附加“-flutter-preview”。如果没有,请在终端中运行“npm install -g @aws-amplify/ cli@flutter-preview ”。

因此,在安装和配置之后,让我们继续学习我们的教程:在 Flutter 中使用 AWS Amplify 集成身份验证。

消退项目的复杂性!
您是否正在寻找知识渊博的 Flutter 开发人员?当你处理一个复杂的项目时,困难是真实的。我们在这里帮助您解决问题。立即与我们联系,聘请具有基础和高级知识的Flutter 开发人员。

初始化和配置放大

下一步是连接到 AWS 云,为此,我们需要初始化 Amplify。在您的终端中运行以下命令。

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南
放大初始化

您的终端将如下图所示。

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南

现在使用命令为 Flutter AWS 配置用户。

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南
放大配置

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南 如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南 如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南 如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南 如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南

此命令将有助于创建新用户或为项目设置已创建的用户。

到目前为止,我们已经在我们的项目中成功设置了 AWS Amplify。现在让我们继续进行下去,并获得我们动手的编码部分。在以下部分中,我们将在 Flutter AWS Cognito 的帮助下为用户设置登录和注册。

另请阅读:

使用 Firebase Auth + Flutter 进行电子邮件和密码身份验证

什么是 AWS Cognito?

Amazon Cognito 是一项简单而安全的服务,有助于添加用户身份验证,而无需为您的移动和 Web 应用程序增加太多负担。AWS Cognito 还支持社交登录方法,例如 Facebook、Google、Amazon 和企业身份提供商 SAML 或 Open ID Connect。此 Amplify 类别内置了对 AWS Cognito 的支持。

AWS Cognito 简化了应用程序体验,无需担心构建、扩展和保护问题。

AWS Cognito 还使我们能够跨设备同步数据,以便用户切换到新设备或其他设备时,他们的体验保持一致。

先决条件

  • Flutter SDK ≥1.20 的 Flutter 应用程序

  • 放大如上一节中所述安装的库。

通过 Amplify CLI 添加 Auth

在终端中运行以下命令,开始在项目中使用 flutter amplify auth。

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南
放大添加授权

系统会提示您几个问题来配置身份验证首选项;只需选择默认值,

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南
?您要使用默认身份验证和安全配置吗?`默认配置`?您希望用户如何登录?`用户名`?您要配置高级设置吗?  `不,我完成了`

在设置身份验证配置后,我们需要推送我们所做的所有更改。要推送这些更改,请运行以下命令。

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南
放大推动

集成 Auth 以注册和登录

现在,是时候将 Auth 最终集成到我们的代码库中了。我希望使用 AWS amplify Flutter auth 的身份验证到目前为止是可以理解的。

报名

像我们以前在 Firebase Auth 中做的那样实现 AWS API 调用。

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南
尝试 {
  地图用户属性 = {
    “电子邮件”:emailController.text,
    “phone_number”:phoneController.text,
    // 根据需要附加属性
  };
  SignUpResult res = await Amplify.Auth.signUp(
      用户名:“我的用户名”,
      密码:“我的超级安全密码”,
      选项:CognitoSignUpOptions(
          用户属性:用户属性
      ));
} 在 AuthError 上
抓住(e){
  打印(e);
}

现在,用户将得到确认。为此,确认码将发送到用户的电子邮件地址。您需要为确认代码创建一个单独的 UI,因为用户必须输入他/她的电子邮件中收到的代码,并将其传递给确认注册电话。

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南
尝试 {
  SignUpResult res = await Amplify.Auth.confirmSignUp(
      用户名:“我的用户名”,
      确认码:“123456”
  );
} 在 AuthError catch (e) {
  打印(e);
}

注册流程成功完成后,您可以在终端上看到 Confirm sign-up Succeed 消息。

登入

在登录 UI 中,Part 实现此 API 调用。

如何在 Flutter 中使用 AWS Amplify 集成身份验证:完整指南
尝试 {
  SignInResult res = await Amplify.Auth.signIn(
    用户名:usernameController.text.trim(),
    密码:passwordController.text.trim(),
  );
} 在 AuthError catch (e) {
  打印(e);
}

成功完成登录流程后,您可以在终端上看到 Sign in a Succeeded 消息。

结论

所以,这是关于如何在 Flutter 中使用 AWS amplify 实现身份验证。我希望该博客以您期望的方式为您提供帮助。如需更多此类 Flutter 教程,请随时访问 Flutter 教程页面,您可以在其中克隆 github 存储库并使用代码。我们总是感谢反馈。

如果您已经确信并正在寻求帮助以使用 AWS Flutter 集成身份验证,请立即联系我们。作为著名的Flutter 应用程序开发公司,我们可以让您轻松使用功能丰富的企业级移动应用程序来玩商店和应用程序商店,而无需担心技术问题。

言鼎科技

The End