如何在 Flutter 中使用 AWS Amplify 集成身份驗(yàn)證:完整指南
簡(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)交叉檢查以下先決條件。
先決條件
安裝的NodeJS和Node 包管理器
安裝最新版本的Flutter
設(shè)置您的 IDE
安裝了 Amplify CLI 的 Flutter Developer Preview。如果您的系統(tǒng)上沒(méi)有安裝它,請(qǐng)使用以下命令
一個(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)目中
獲取 Amplify 包
驗(yàn)證 Amplify CLI 的版本
注意:此命令的輸出應(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)行以下命令。
您的終端將如下圖所示。
現(xiàn)在使用命令為 Flutter AWS 配置用戶。
此命令將有助于創(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è)。
什么是 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。
系統(tǒng)會(huì)提示您幾個(gè)問(wèn)題來(lái)配置身份驗(yàn)證首選項(xiàng);只需選擇默認(rèn)值,
在設(shè)置身份驗(yàn)證配置后,我們需要推送我們所做的所有更改。要推送這些更改,請(qǐng)運(yùn)行以下命令。
集成 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)用。
嘗試 {
地圖用戶屬性 = {
“電子郵件”: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è)電話。
嘗試 {
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)用。
嘗試 {
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)題。