身份提供方回调
无需会话:OAuth 应用中登记的地址 (<the console's origin>/v1/auth/oauth/<provider>/callback),提供方把浏览器连同 code 和 state(或者错误)送到这里。每个响应都是控制台页面 (303):已登录(会话 Cookie)并跳转到本次登录的 next,或者(关联提供方时)跳转到用户设置 (#/me?linked=<provider>);或者在片段中说明失败原因:#/sign-in?oauth_error=<code>&message=<words>(关联时为 #/me?…)。错误码:oauth_state_invalid(本浏览器没有哪个登录流程持有该 state:伪造的、属于别的浏览器、已经回来过,或超过十分钟)、oauth_denied(提供方表示用户没有授权控制台)、oauth_code_refused(提供方不接受该 code:已被使用,或与本次登录的 verifier 不匹配)、oauth_token_invalid(Google 的 ID 令牌:不是由其密钥签名、属于别的客户端、来自别的签发方、已过期,或 nonce 不同)、oauth_provider_unavailable、provider_address_unverified(提供方那里的地址未经验证:GitHub 的主地址,Google 的 email_verified)、provider_link_needed(已有用户使用该地址,而该提供方不是其邮箱服务商:control/README.md,用 GitHub、Google 登录)、provider_linked_elsewhere、provider_already_linked、invalid_session(请求关联的会话已结束)、user_locked、rate_limited。已关联的提供方用户以其对应的用户身份登录;未关联的,只有当提供方就是该地址的邮箱服务商时(Gmail 及其 Workspace 域名对应 Google),才会按地址关联到已有用户,或者用该地址创建一个没有密码的新用户。查询参数来自提供方,以及它附加的一些参数(Google 的 scope、authuser、prompt、hd):都不会被拒绝。
https://api.glac.ai/v1/auth/oauth/{provider}/callback路径参数
查询参数
Returns
303
控制台页面:已登录,或说明未能登录的原因。