# 通过简单的登录注册APP学习SAML和OAuth

## 跟着Workshop上手和了解

[Authentication and authorization with Amazon Cognito and Verified Permissions](https://catalog.workshops.aws/app-auth/en-US)

## 创建一个React APP

可以使用Amplify部署一个Vue APP: <https://docs.amplify.aws/vue/start/quickstart/>

{% hint style="info" %}
如果想要部署其他语言的APP可以参考：

1- <https://docs.amplify.aws/>

2- <https://github.com/aws-samples/aws-amplify-auth-starters?tab=readme-ov-file>
{% endhint %}

没有特殊说明，后面的内容都是在部署了Vue APP的基础上进行迭代。

## 整合Cognito的登录，注册能力

参考资料：

1 - <https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-integrate-apps.html>

最低成本的集成就是使用Amazon Cognito user pools的[managed login](https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-terms.html#terms-managedlogin). 使用托管登录的用户池身份验证需要 OpenID Connect (OIDC) 库来将用户引导至托管登录页面。在这一系列用户交互和重定向 Web 端点中，Amazon Cognito 处理身份验证流程，包括第三方登录、多因素身份验证 (MFA) 和选择身份验证流程。您的应用程序只需处理 Amazon Cognito 在响应中返回的身份验证结果。

您还可以将 AWS SDK 添加到应用程序中，自定义构建身份验证接口，并调用 API 操作对用户进行身份验证和授权。 [AWS Amplify](https://docs.amplify.aws/) 是一种 AWS 服务用于构建全栈应用，使用 Amazon Cognito 在后端进行身份验证。
