呼叫登入頁面
網頁登錄是一項允許用戶通過網頁登錄到身份提供者(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 編碼生成的字串。 | 是 |
請求查詢參數 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"
}
此 JSON 对象在 API 调用期间按以下顺序转换为字符串,并用作 param
查询参数。
- URL 编码
- 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 | 字串 | 網頁登入回應代碼 如果不成功,將重定向到包含錯誤代碼的網頁登入錯誤頁面。 |
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 对象的示例。