我在教程、网站上搜索了很久,发现所有人都没有解释(我理解为什么)应用程序客户端设置中的复选框:
- 启用基于服务器的身份验证的登录 API
- 仅允许自定义身份验证
- 启用基于应用的身份验证的用户名密码(非 SRP)流程
“了解更多”链接对我没有帮助,提供了很多信息,但不容易理解和掌握。有没有人能够解释这些设置呢?
我在教程、网站上搜索了很久,发现所有人都没有解释(我理解为什么)应用程序客户端设置中的复选框:
“了解更多”链接对我没有帮助,提供了很多信息,但不容易理解和掌握。有没有人能够解释这些设置呢?
2. 启用基于Lambda触发器的自定义身份验证(ALLOW_CUSTOM_AUTH)
这将启用自定义身份验证流程。使用AWS Lambda触发器,可以帮助您创建基于挑战/响应的身份验证模型。 https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html
在用户池 -> 触发器下,您可以看到许多Lambda函数。您可以使用创建身份验证挑战、定义身份验证挑战和验证身份验证响应函数来创建自定义身份验证流程。
3. 启用基于用户名密码的身份验证(ALLOW_USER_PASSWORD_AUTH)
这将启用客户端身份验证流程,该流程使用基于用户密码的身份验证。在此流程中,Cognito会在请求中接收密码。
您可以使用AWS Mobile SDK for Android、AWS Mobile SDK for iOS或AWS SDK for JavaScript来实现此功能。
4. 启用基于SRP(安全远程密码)协议的身份验证(ALLOW_USER_SRP_AUTH)
除了密码验证外,此流程与第3节中的上述流程类似。此流程使用SRP协议来验证密码。
http://srp.stanford.edu/whatisit.html https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html
5. 启用基于刷新令牌的身份验证(ALLOW_REFRESH_TOKEN_AUTH)
在成功进行身份验证后,Amazon Cognito会向您的应用程序返回用户池令牌(三个令牌)。您可以使用这些令牌授予用户访问自己的服务器端资源或Amazon API Gateway的权限。或者,您可以将它们交换为临时AWS凭证,以访问其他AWS服务。
这三个令牌是ID令牌(JWT)、访问令牌和刷新令牌。刷新令牌可用于检索新的ID和访问令牌。一旦您登录移动应用程序,每次关闭和打开应用程序时都不需要重新登录,该功能是使用刷新令牌实现的。
Amazon Cognito托管UI怎么样?
应用程序客户端可以配置为使用内置的Cognito网页来注册和登录用户。当使用托管UI时,您可以启用授权码授权和隐式授权,然后根据需要使用每个授权。
https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-idp-settings.html
请阅读上面链接的文章以了解有关 OAuth2 的更多解释。i) 客户端将用户名/密码发送到 OAuth 服务器。
ii) OAuth 服务器验证并使用授权码回调客户端。
iii) 客户端再次将此代码发送回 OAuth 服务器
iv) OAuth 服务器将令牌发送给客户端。