跳转至

调用登录页面

Web 登录是一个允许用户通过网页登录 IdP 的功能。

登录页面调用 是一个API,它返回一个临时身份验证代码(state)以及用户可以登录到IdP的Hive网页登录URL地址。

在请求 登录页面调用 API后,当用户在被调用的登录页面完成网页登录时,通过请求时提供的重定向URI返回一个临时身份验证代码(state)。临时身份验证代码(state)是进行登录验证和用户信息检索 API请求时必须提供的参数。

请求 URL

环境 URL
生产 https://weblogin.withhive.com/login?param=
沙盒 https://sandbox-weblogin.withhive.com/login?param=
HTTP 方法 GET
内容类型 text/html

请求查询参数

字段名称 类型 描述 必需
param 字符串 通过对下面的 JSON 对象进行 URL 编码和 BASE64 编码生成的字符串。 Y

请求查询参数 JSON 结构 (param)

字段名称 类型 描述
appid 字符串 应用 ID
url 字符串 登录完成后重定向的 URI 地址。必须与 Hive 控制台中注册的 重定向 URI 匹配 身份验证 > 身份验证设置 > 登录设置。如果不匹配,将显示 2012 错误页面。
client_id 字符串 在安全密钥设置中创建的 OAuth 2.0 客户端 ID。您可以在 Hive 控制台 应用中心 > 安全密钥设置 中查看。
response_type 字符串 OAuth 2.0 授权方法。默认: code
country 字符串 在游戏或社区中设置的国家代码(如果未提供,则使用浏览器默认值)
language 字符串 在游戏或社区中设置的语言代码(如果未提供,则使用浏览器默认值)

请求查询参数 JSON (param) 示例

请求查询参数 JSON (param) 由如下所示的 JSON 对象组成。

{
  "appid": "com.com2us.hivesdk.ios.community.global.normal",
  "url": "https://community.withhive.com/hivesdk/login/redirect",
  "client_id": "58b48cd3-df47-5b52-2627-3f9c8d01",
  "response_type": "code",
  "country": "KR",
  "language": "ko"
}

在API调用期间,此JSON对象按以下顺序转换为字符串,并用作param查询参数。

  1. URL编码
  2. BASE64编码
# 인코딩된 param을 붙여 호출하는 URL 예시
https://weblogin.withhive.com/login?param=JTdCJTIyYXBwaWQlMjIlM0ElMjJjb20uY29tMnVzLmhpdmVzZGsuaW9zLmNvbW11bml0eS5nbG9iYWwubm9ybWFsJTIyJTJDJTIydXJsJTIyJTNBJTIyaHR0cHMlM0ElMkYlMkZjb21tdW5pdHkud2l0aGhpdmUuY29tJTJGaGl2ZXNkayUyRmxvZ2luJTJGcmVkaXJlY3QlMjIlMkMlMjJjbGllbnRfaWQlMjIlM0ElMjI1OGI0OGNkMy1kZjQ3LTViNTItMjYyNy0zZjljOGQwMSUyMiUyQyUyMnJlc3BvbnNlX3R5cGUlMjIlM0ElMjJjb2RlJTIyJTJDJTIyY291bnRyeSUyMiUzQSUyMktSJTIyJTJDJTIybGFuZ3VhZ2UlMjIlM0ElMjJrbyUyMiU3RA==

响应行为

  • 响应结果为 HTTP 302 重定向。
  • 浏览器被重定向到 Location 头中设置的 URI,并将 res 查询参数添加到该 URI。
  • res 是一个 URL 编码和 BASE64 编码的 JSON 字符串。

重定向位置 URI 示例

# https://community.withhive.com/hivesdk/login/redirect를 리다이렉트 URI로 설정한 경우
https://community.withhive.com/hivesdk/login/redirect?res=JTdCJTIyY29kZSUyMiUzQSUyMjEwMCUyMiUyQyUyMnN0YXRlJTIyJTNBJTIyMTY4ODEwODkyNzk0Mi1CUHVxcHFFaUd6S0lIJTIyJTdE

响应查询参数 (res)

res 是经过 URL 编码和 BASE64 编码后转换为字符串的值,由一个 JSON 对象组成,包含如下所示的键值。

字段名称 类型 描述
code 字符串 Web 登录响应代码
如果不成功,它将重定向到包含错误代码的 Web 登录错误页面。
state 字符串 临时授权代码(authorization_code),在请求令牌发行时使用。

响应查询参数 响应代码

代码 描述 备注
100 成功
1050 无效参数
1051 URL 解码错误
1052 BASE64 解码错误
1053 无效参数值 ?param= 的值
2005 异常请求值
2011 没有项目信息
2012 重定向 URI 不匹配 必须与 Hive 控制台中注册的 重定向 URI 匹配 身份验证 > 身份验证设置 > 登录设置
2013 项目处于终止状态
2016 没有应用 ID 信息
2018 没有公司信息
2020 临时身份验证代码 (state) 发放失败
2022 临时身份验证代码 (state) 存储失败
7000 OAuth2.0 安全密钥未生成 在 Hive 控制台中检查 应用中心 > 安全密钥设置
7003 没有 OAuth2.0 客户端信息

响应查询参数示例 (res)

要再次将 res 用作 JSON 对象,您需要执行 BASE64 解码和 URL 解码的反向操作。下面显示了一个 JSON 对象的示例。

{
  "code": "100",
  "state": "1627881984263-jkx1B3GOY3EsJ"
}