View a markdown version of this page

托管登录登录端点:/login - Amazon Cognito
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

托管登录登录端点:/login

登录端点是一个身份验证服务器,也是来自对端点授权的重定向目的地。当您不指定身份提供者时,它是托管登录的入口点。当您生成到登录端点的重定向时,它加载登录页面,并向用户显示为客户端配置的身份验证选项。

注意

登录端点是托管登录的一个组成部分。在您的应用程序中,调用重定向到登录端点的联合身份验证和托管登录页面。用户直接访问登录端点并不是最佳实践。

GET /login

/login 端点仅支持对用户的初始请求执行 HTTPS GET。您的应用程序会在 Chrome 或 Firefox 等浏览器中调用该页面。当您从 对端点授权 重定向到 /login 时,它会传递您在初始请求中提供的所有参数。登录端点支持授权端点的所有请求参数。您也可以直接访问登录端点。作为最佳实践,应在 /oauth2/authorize 上发起所有用户会话。

示例 - 提示用户登录

此示例显示登录屏幕。

GET https://mydomain.auth.us-east-1.amazoncognito.com/login? response_type=code& client_id=1example23456789& redirect_uri=https://YOUR_APP/redirect_uri& state=STATE& scope=openid+profile+aws.cognito.signin.user.admin
示例:响应

身份验证服务器重定向到您的应用程序并提供授权代码和状态。服务器必须在查询字符串参数中返回代码和状态,而不是在片段中。

HTTP/1.1 302 Found Location: https://YOUR_APP/redirect_uri?code=AUTHORIZATION_CODE&state=STATE

User-initiated 登录请求

在用户加载 /login 端点后,他们可以输入用户名和密码并选择登录。这样做时,将生成一个与 GET 请求具有相同标头请求参数的 HTTPS POST 请求,以及包含用户名、密码和设备指纹的请求正文。

Step-up 身份验证请求

/login端点接受以下 URL 参数进行升级身份验证。这些参数的行为与授权端点上的行为相同。有关 ACR 级别和 AMR 值的更多信息,请参阅ACR 和 AMR 声明的身份验证级别。

acr_values

以空格分隔的目标 ACR 身份验证级别 URI URL-encoded 列表,从高到低。Amazon Cognito 从左到右评估列表,强制执行用户可以满足的第一个有效级别,并忽略它无法识别的值。此参数的行为与 TARGET_ACR_VALUES API 参数相同。需要 Essentials 或 Plus 功能计划。

max_age

一个非负整数,它指定自用户上次通过身份验证以来的最大秒数。如果当前时间减去大auth_time于max_age,则用户必须从头开始重新进行身份验证,而不仅仅是加快速度。此行为与 MAX_AGE API 参数相同。

有关使用这些参数的请求示例,请参阅授权端点。

acr_values与结合使用max_age可要求特定的身份验证级别和最近的身份验证才能执行敏感操作。

功能计划不足的行为与 API 不同。托管登录/login端点会静默忽略acr_values并继续进行普通身份验证,而不会出现错误。API 会返回一个FeatureUnavailableInTierException。有关更多信息,请参阅 功能计划要求。