LOGIN 端点
/login
终端节点让用户登录。它加载登录页面,并向用户显示为客户端配置的身份验证选项。
GET /login
/login
终端节点只支持 HTTPS GET
。用户池客户端通过系统浏览器发出此请求。JavaScript 的系统浏览器包括 Chrome 或 Firefox。Android 浏览器包括自定义 Chrome 选项卡。iOS 浏览器包括 Safari View 控件。
请求参数
- client_id
-
您的应用程序的应用程序客户端 ID。要获取应用程序客户端 ID,请在用户池中注册该应用程序。有关更多信息,请参阅 配置用户池应用程序客户端。
必填项。
- redirect_uri
-
身份验证成功后用户重定向到的 URI。它应在指定的
response_type
的client_id
上配置。必填项。
- response_type
-
OAuth 响应类型,对于代码授予流,它可能是
code
,对于隐式流,它可能是token
。必填项。
- state
-
客户端添加到初始请求的不透明值。然后在重定向时将该值返回给客户端。
客户端必须使用此值来防止 CSRF
攻击。 可选但不推荐。
- scope
-
可以是任何系统预留范围或与客户端关联的自定义范围的组合。范围必须以空格分隔。系统预留范围为
openid
、email
、phone
、profile
和aws.cognito.signin.user.admin
。使用的任意范围必须预先与客户端关联,否则它将在运行时被忽略。如果客户端不请求任何范围,则身份验证服务器使用与客户端关联的所有范围。
只有在请求
openid
范围时,才返回 ID 令牌。如果请求了aws.cognito.signin.user.admin
范围,则访问令牌只能用于 Amazon Cognito 用户池。只有在同时请求了phone
范围时,才能请求email
、profile
和openid
范围。这些范围控制进入 ID 令牌中的声明。可选。
示例请求:提示用户登录
此示例显示登录屏幕。
GET https://mydomain.auth.us-east-1.amazoncognito.com/login? response_type=code& client_id=ad398u21ijw3s9w3939& 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
有关更多示例请求以及示例正向和负向响应,请参阅 AUTHORIZATION 端点。