使用 aws amplify cognito 的自定义身份验证流程

     2023-03-27     172

关键词:

【中文标题】使用 aws amplify cognito 的自定义身份验证流程【英文标题】:Custom Authentication flow with aws amplify cognito 【发布时间】:2021-03-23 05:25:53 【问题描述】:

我想在 aws amplify cognito 服务中创建自定义注册身份验证流程

我有什么

1.输入用户名

2.输入密码

3.使用 Otp(电话号码)/确认码(电子邮件)验证用户

我想要什么

1.输入用户名

2.输入 Otp/确认码

3.输入密码

如何使用 aws amplify cognito 服务实现此注册流程,否则最好的服务或方法是什么

【问题讨论】:

【参考方案1】:

您想要的场景可以使用自定义身份验证流程来完成,但这有一些警告:

您不能将 Cognito 的 MFA 与自定义身份验证流程一起使用。这是不可能的。我在 AWS 有一个企业账户,并且已经向我们的代表提出了这个问题,而且他们甚至没有在他们的积压中。这意味着您需要实现自己的 SMS OTP 或使用 twilio 的 API ($)。 cognito 托管的 UI 不支持自定义身份验证,您需要自己重做所有 UI(考虑重置密码链接等,而不仅仅是登录)。 由于您将进行 API 调用,而不是使用托管 UI,您将失去所有 oauth 优势,没有代码授权或 oauth 范围。这意味着您需要做大量额外工作才能使其在移动身份验证会话中安全运行,本质上您需要以某种方式使用 PKCE 重新实现代码授权。

如果你想这样做,你可以使用自定义身份验证流程,它非常复杂,但这里有一篇文章帮助了我:https://dev.to/duarten/passwordless-authentication-with-cognito-13c

如果可能,我的建议是坚持使用托管 UI,或者不要使用 Cognito。 Cognito 的功能集比其他身份验证提供者少很多(但更便宜)。

【讨论】:

使用 AWS Amplify 和 AWS Cognito 进行数据特定授权

】使用AWSAmplify和AWSCognito进行数据特定授权【英文标题】:Data-specificAuthorizationwithAWSAmplify&AWSCognito【发布时间】:2021-10-0120:12:32【问题描述】:背景大家好。首先,我正在学习AWSAmplify/GraphQL,所以我不确定这是否是GraphQL特定... 查看详情

什么是用于在 Cognito 中登录的 AWS 开发工具包库(从后端不使用 Amplify)?

】什么是用于在Cognito中登录的AWS开发工具包库(从后端不使用Amplify)?【英文标题】:WhatistheAWSSDKlibraryforsignininCognito(frombackendwithoutusingAmplify)?【发布时间】:2021-11-0915:12:34【问题描述】:我已经使用@aws-sdk/client-cognito-identity-pro... 查看详情

将 Cognito 中的用户信息与 AWS Amplify GraphQL 关联

】将Cognito中的用户信息与AWSAmplifyGraphQL关联【英文标题】:AssociateuserinformationfromCognitowithAWSAmplifyGraphQL【发布时间】:2020-08-0206:11:02【问题描述】:我使用的是xcode11.4,Swift4。目标是:在Cognito用户池中注册一个新用户,然后使用... 查看详情

来自 Lambda 的 AWS Cognito adminCreateUser,使用 Amplify CLI 创建

】来自Lambda的AWSCognitoadminCreateUser,使用AmplifyCLI创建【英文标题】:AWSCognitoadminCreateUserfromLambda,createdwithAmplifyCLI【发布时间】:2021-02-2413:19:44【问题描述】:我使用AmplifyCLI创建了一个Lambda函数,执行Lambda函数时执行没有错误,但... 查看详情

AWS-amplify 在请求中包含 cognito Authorization 标头

】AWS-amplify在请求中包含cognitoAuthorization标头【英文标题】:AWS-amplifyIncludingthecognitoAuthorizationheaderintherequest【发布时间】:2018-11-1116:45:14【问题描述】:我创建了一个包含Cognito和云逻辑的AWS移动中心项目。在我的API网关中,我为... 查看详情

AWS Amplify (AppSync + Cognito) 使用每个组织/租户的动态组进行授权

】AWSAmplify(AppSync+Cognito)使用每个组织/租户的动态组进行授权【英文标题】:AWSAmplify(AppSync+Cognito)Authorizationusingdynamicgroupsperorganitzation/tenant【发布时间】:2021-07-2020:58:30【问题描述】:我有一个具有多组织结构的AWSAmplify应用程序... 查看详情

AuthError - 错误:未正确配置 Amplify / AWS cognito,React JS

】AuthError-错误:未正确配置Amplify/AWScognito,ReactJS【英文标题】:AuthError-Error:Amplifyhasnotbeenconfiguredcorrectly/AWScognito,ReactJS【发布时间】:2021-11-2008:39:02【问题描述】:我正面临这个问题。安装amplify-cli、aws-amplify和aws-amplify-react后... 查看详情

使用 Amplify 将现有 AWS Cognito 用户池集成到 iOS 项目中

】使用Amplify将现有AWSCognito用户池集成到iOS项目中【英文标题】:IntegrateexistingAWSCognitouserpoolintoiOSprojectwithAmplify【发布时间】:2019-04-1805:49:58【问题描述】:我正在尝试使用AWSAmplify将AWSCognito添加到我的iOS应用程序中。文档建议... 查看详情

使用 Cognito 对 AWS-Amplify 中的 Lambda 函数进行查询和更改 GraphQL 进行身份验证

】使用Cognito对AWS-Amplify中的Lambda函数进行查询和更改GraphQL进行身份验证【英文标题】:QueryandMutateGraphQLfromLambdafunctioninAWS-AmplifyusingCognitoforauth【发布时间】:2020-05-1912:28:27【问题描述】:我通过amplifyapiadd命令创建了一个GraphQLapi... 查看详情

AWS Amplify AppSync 使用在 Cognito 中创建的 Google 用户登录

】AWSAmplifyAppSync使用在Cognito中创建的Google用户登录【英文标题】:AWSAmplifyAppSyncLoginusingGoogleuserthat\'screatedinCognito【发布时间】:2020-07-0811:21:24【问题描述】:您好,我使用React和GraphQL创建了一个AWSAmplify项目。看起来Appsync提供了... 查看详情

Aws Amplify 在一个 GraphQL Api 中使用多个 Cognito 用户池

】AwsAmplify在一个GraphQLApi中使用多个Cognito用户池【英文标题】:AwsAmplifyUsingMultipleCognitoUserPoolsinOneGraphQLApi【发布时间】:2020-12-2211:06:24【问题描述】:我是AWSAmplify的新手,我正在尝试制作简单的项目。我有两个不同的前端(反... 查看详情

Swift - AWS Cognito 使用 Amplify - 如何在 swift 登录后获取令牌?

】Swift-AWSCognito使用Amplify-如何在swift登录后获取令牌?【英文标题】:Swift-AWSCognitousingAmplify-Howtogettokensafterlogininswift?【发布时间】:2021-10-2514:37:36【问题描述】:成功登录后,我正在努力获取用户令牌。我唯一得到的是当前的use... 查看详情

AWS-Amplify 与 Cognito

】AWS-Amplify与Cognito【英文标题】:AWS-AmplifywithCognito【发布时间】:2019-03-0421:16:43【问题描述】:关注来自AWS的thistutorial。这看起来很棒,但我遇到了一些(新手?)问题:一个。在17:14我没有选择命名我的项目的选项到下一组显... 查看详情

是否可以在没有 Cognito 用户池的情况下使用 AWS Amplify Analytics?

】是否可以在没有Cognito用户池的情况下使用AWSAmplifyAnalytics?【英文标题】:CanAWSAmplifyAnalyticsbeusedwithoutaCognitoUserPool?【发布时间】:2020-08-1415:16:53【问题描述】:我正在尝试通过AmplifySDK将PinpointAnalytics实施到现有的ReactNative应用... 查看详情

AWS Amplify 与托管 Cognito UI 的联合 Okta 身份验证

】AWSAmplify与托管CognitoUI的联合Okta身份验证【英文标题】:AWSAmplifyfederatedOktaauthenticationwithhostedCognitoUI【发布时间】:2021-02-2805:47:39【问题描述】:我正在尝试更新现有的ReactAmplify应用程序,该应用程序使用AWSCognito用户池进行身... 查看详情

AWS Amplify 和 amazon-cognito-identity-js 的区别?

】AWSAmplify和amazon-cognito-identity-js的区别?【英文标题】:ThedifferencebetweenAWSAmplifyandamazon-cognito-identity-js?【发布时间】:2019-05-1902:34:06【问题描述】:我正在查看有关如何将Cognito与Angular集成的演示,它是用于授权服务的amazon-cognit... 查看详情

链接到 Cognito 用户池的 AWS Amplify GraphQL 架构

】链接到Cognito用户池的AWSAmplifyGraphQL架构【英文标题】:AWSAmplifyGraphQLSchemathatislinkedtoCognitoUserPool【发布时间】:2020-04-0506:59:49【问题描述】:我正在使用AWSAmplify创建一个网站平台,该平台主要用作注册用户的目录,具有与业务... 查看详情

使用 Amplify 的 federatedSignIn 使用 Cognito 用户池登录 Facebook

】使用Amplify的federatedSignIn使用Cognito用户池登录Facebook【英文标题】:FacebookLoginwithCognitoUserPoolsusingAmplify\'sfederatedSignIn【发布时间】:2021-10-0723:34:44【问题描述】:我正在尝试使用aws-amplify在React项目中使用Cognito用户池登录Facebook... 查看详情