如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南

言鼎科技 2023-06-25 599

簡(jiǎn)介:在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證

您是否遇到過(guò)在 Flutter 中使用 AWS Amplify集成身份驗(yàn)證的客戶需求?您是否陷入困境并想知道從哪里開(kāi)始?或者,您只是一個(gè)好奇的 Flutter 愛(ài)好者,想了解如何使用 AWS amplify 對(duì)您的 Flutter 應(yīng)用程序進(jìn)行身份驗(yàn)證?如果是,那么我們隨時(shí)為您提供幫助!這是 aws amplify 教程,我們將在其中提供使用 AWS amplify 對(duì) flutter 應(yīng)用程序進(jìn)行身份驗(yàn)證的完整指南。我們將涵蓋技術(shù)和理論部分。所以,事不宜遲,讓我們開(kāi)始吧!

什么是 AWS 放大?

AWS Amplify 身份驗(yàn)證是一組工具、功能和庫(kù),可幫助在 AWS 上構(gòu)建和托管 Web 應(yīng)用程序和移動(dòng)應(yīng)用程序。Amplify 支持各種框架和平臺(tái),如 JavaScript、Vue、Next.Js,以及移動(dòng)平臺(tái),如 IOS、Android、Flutter、React Native、Ionic。AWS 擴(kuò)大了使用的用戶界面組件和 CLI(命令行界面)包來(lái)為 Web 和移動(dòng)應(yīng)用程序構(gòu)建應(yīng)用程序后端。

在開(kāi)發(fā)和學(xué)習(xí)如何在 Flutter 中使用 AWS amplify集成身份驗(yàn)證之前,請(qǐng)交叉檢查以下先決條件。

先決條件

  • 安裝的NodeJSNode 包管理器

  • 安裝最新版本的Flutter

  • 設(shè)置您的 IDE

  • 安裝了 Amplify CLI 的 Flutter Developer Preview。如果您的系統(tǒng)上沒(méi)有安裝它,請(qǐng)使用以下命令

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南
npm install -g @aws-amplify/ cli@flutter-preview
  • 一個(gè) AWS 賬戶。

注意: @aws-amplify/cli 的現(xiàn)有版本將無(wú)法使用;您可能需要安裝最新的 flutter-preview 版本。

安裝依賴

以下是使用 AWS amplify 驗(yàn)證 flutter 應(yīng)用程序所需的一些依賴項(xiàng)。只需按照說(shuō)明和命令進(jìn)行安裝即可。

在 pubspec.yaml 文件中將 Flutter Amplify 包導(dǎo)入到您的項(xiàng)目中

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南
amplify_core: '<1.0.0'   amplify_auth_cognito: '<1.0.0'

獲取 Amplify 包

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南
顫振酒吧得到 

驗(yàn)證 Amplify CLI 的版本

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南
放大版本

注意:此命令的輸出應(yīng)附加“-flutter-preview”。如果沒(méi)有,請(qǐng)?jiān)诮K端中運(yùn)行“npm install -g @aws-amplify/ cli@flutter-preview ”。

因此,在安裝和配置之后,讓我們繼續(xù)學(xué)習(xí)我們的教程:在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證。

消退項(xiàng)目的復(fù)雜性!
您是否正在尋找知識(shí)淵博的 Flutter 開(kāi)發(fā)人員?當(dāng)你處理一個(gè)復(fù)雜的項(xiàng)目時(shí),困難是真實(shí)的。我們?cè)谶@里幫助您解決問(wèn)題。立即與我們聯(lián)系,聘請(qǐng)具有基礎(chǔ)和高級(jí)知識(shí)的Flutter 開(kāi)發(fā)人員。

初始化和配置放大

下一步是連接到 AWS 云,為此,我們需要初始化 Amplify。在您的終端中運(yùn)行以下命令。

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南
放大初始化

您的終端將如下圖所示。

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南

現(xiàn)在使用命令為 Flutter AWS 配置用戶。

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南
放大配置

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南 如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南 如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南 如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南 如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南

此命令將有助于創(chuàng)建新用戶或?yàn)轫?xiàng)目設(shè)置已創(chuàng)建的用戶。

到目前為止,我們已經(jīng)在我們的項(xiàng)目中成功設(shè)置了 AWS Amplify?,F(xiàn)在讓我們繼續(xù)進(jìn)行下去,并獲得我們動(dòng)手的編碼部分。在以下部分中,我們將在 Flutter AWS Cognito 的幫助下為用戶設(shè)置登錄和注冊(cè)。

另請(qǐng)閱讀:

使用 Firebase Auth + Flutter 進(jìn)行電子郵件和密碼身份驗(yàn)證

什么是 AWS Cognito?

Amazon Cognito 是一項(xiàng)簡(jiǎn)單而安全的服務(wù),有助于添加用戶身份驗(yàn)證,而無(wú)需為您的移動(dòng)和 Web 應(yīng)用程序增加太多負(fù)擔(dān)。AWS Cognito 還支持社交登錄方法,例如 Facebook、Google、Amazon 和企業(yè)身份提供商 SAML 或 Open ID Connect。此 Amplify 類別內(nèi)置了對(duì) AWS Cognito 的支持。

AWS Cognito 簡(jiǎn)化了應(yīng)用程序體驗(yàn),無(wú)需擔(dān)心構(gòu)建、擴(kuò)展和保護(hù)問(wèn)題。

AWS Cognito 還使我們能夠跨設(shè)備同步數(shù)據(jù),以便用戶切換到新設(shè)備或其他設(shè)備時(shí),他們的體驗(yàn)保持一致。

先決條件

  • Flutter SDK ≥1.20 的 Flutter 應(yīng)用程序

  • 放大如上一節(jié)中所述安裝的庫(kù)。

通過(guò) Amplify CLI 添加 Auth

在終端中運(yùn)行以下命令,開(kāi)始在項(xiàng)目中使用 flutter amplify auth。

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南
放大添加授權(quán)

系統(tǒng)會(huì)提示您幾個(gè)問(wèn)題來(lái)配置身份驗(yàn)證首選項(xiàng);只需選擇默認(rèn)值,

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南
?您要使用默認(rèn)身份驗(yàn)證和安全配置嗎?`默認(rèn)配置`?您希望用戶如何登錄?`用戶名`?您要配置高級(jí)設(shè)置嗎?  `不,我完成了`

在設(shè)置身份驗(yàn)證配置后,我們需要推送我們所做的所有更改。要推送這些更改,請(qǐng)運(yùn)行以下命令。

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南
放大推動(dòng)

集成 Auth 以注冊(cè)和登錄

現(xiàn)在,是時(shí)候?qū)?Auth 最終集成到我們的代碼庫(kù)中了。我希望使用 AWS amplify Flutter auth 的身份驗(yàn)證到目前為止是可以理解的。

報(bào)名

像我們以前在 Firebase Auth 中做的那樣實(shí)現(xiàn) AWS API 調(diào)用。

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南
嘗試 {
  地圖用戶屬性 = {
    “電子郵件”:emailController.text,
    “phone_number”:phoneController.text,
    // 根據(jù)需要附加屬性
  };
  SignUpResult res = await Amplify.Auth.signUp(
      用戶名:“我的用戶名”,
      密碼:“我的超級(jí)安全密碼”,
      選項(xiàng):CognitoSignUpOptions(
          用戶屬性:用戶屬性
      ));
} 在 AuthError 上
抓住(e){
  打?。╡);
}

現(xiàn)在,用戶將得到確認(rèn)。為此,確認(rèn)碼將發(fā)送到用戶的電子郵件地址。您需要為確認(rèn)代碼創(chuàng)建一個(gè)單獨(dú)的 UI,因?yàn)橛脩舯仨気斎胨?她的電子郵件中收到的代碼,并將其傳遞給確認(rèn)注冊(cè)電話。

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南
嘗試 {
  SignUpResult res = await Amplify.Auth.confirmSignUp(
      用戶名:“我的用戶名”,
      確認(rèn)碼:“123456”
  );
} 在 AuthError catch (e) {
  打?。╡);
}

注冊(cè)流程成功完成后,您可以在終端上看到 Confirm sign-up Succeed 消息。

登入

在登錄 UI 中,Part 實(shí)現(xiàn)此 API 調(diào)用。

如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南
嘗試 {
  SignInResult res = await Amplify.Auth.signIn(
    用戶名:usernameController.text.trim(),
    密碼:passwordController.text.trim(),
  );
} 在 AuthError catch (e) {
  打?。╡);
}

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

結(jié)論

所以,這是關(guān)于如何在 Flutter 中使用 AWS amplify 實(shí)現(xiàn)身份驗(yàn)證。我希望該博客以您期望的方式為您提供幫助。如需更多此類 Flutter 教程,請(qǐng)隨時(shí)訪問(wèn) Flutter 教程頁(yè)面,您可以在其中克隆 github 存儲(chǔ)庫(kù)并使用代碼。我們總是感謝反饋。

如果您已經(jīng)確信并正在尋求幫助以使用 AWS Flutter 集成身份驗(yàn)證,請(qǐng)立即聯(lián)系我們。作為著名的Flutter 應(yīng)用程序開(kāi)發(fā)公司,我們可以讓您輕松使用功能豐富的企業(yè)級(jí)移動(dòng)應(yīng)用程序來(lái)玩商店和應(yīng)用程序商店,而無(wú)需擔(dān)心技術(shù)問(wèn)題。

言鼎科技

The End