IdP 帳號管理 使用 IdP(身分提供者)憑證資訊建立和管理玩家帳戶。 「IdP 帳戶管理」API 透過伺服器到伺服器通訊進行操作,其中應用程式伺服器直接呼叫 Hive 驗證伺服器。它可用於多種用途,包括玩家 ID 建立、登入、IdP 連結和取消連結、在 Web 環境中實現登入以及遷移現有帳戶。
Note 此 API 不支援透過 Google、Meta 和 Apple 等外部身分驗證提供者進行使用者驗證或憑證取得。直接在應用程式用戶端中實現這些過程,並將結果傳遞到應用程式伺服器。
「IdP帳號管理」功能提供的API如下。 | API 端點 | 描述 | | --- | --- | | POST /v2/game/auth/signinidp | IdP 登入 | | POST /v2/game/auth/connect | 連結 IdP | | POST /v2/game/auth/disconnect | 解除 IdP 連結 |
IdP 登入 使用 IdP 資訊為新玩家建立玩家 ID,或如果 IdP 已註冊,則傳回現有玩家資訊。當IdP登入請求成功後,您可以在data.player_id中查看產生的玩家ID。
請求網址 請求頭 欄位名稱 描述 類型 必填 X-Access-Token 用於遊戲伺服器驗證的 OAuth 2.0 存取權杖 (請參閱 OAuth 權杖核發 ) String Y ISCRYPT 資料是否加密(0 = 未加密;始終傳遞 0) Integer Y
請求正文 欄位名稱 描述 類型 必填 appid 應用程式 ID String Y idp_index IdP 索引代碼。參見 IdP 索引參考 Integer Y idp_user_id IdP 使用者唯一識別碼 String Y require_token 是否請求玩家令牌。使用 帳號刪除 API 時的 true; false 不使用時 Boolean Y
Note 若要使用 帳號刪除 API,請將 require_token 設定為 true 以接收回應標頭中的 Authorization 值。如果您不使用帳戶刪除功能,請將其設定為false。
回應頭 欄位名稱 描述 類型 Authorization Session Token。僅在 require_token: true 時核發 String Content-Type 回應資料格式(JSON)與字元編碼(UTF-8)資訊 String ISCRYPT 回應是否加密 Integer
回應正文 欄位名稱 描述 類型 result_code 回應代碼 詳情 Integer result_msg 結果留言 String token_validation JWT 驗證結果 (JWT 驗證錯誤 ) Object token_validation.result_code JWT驗證結果碼 Integer token_validation.result_msg JWT 驗證結果訊息 String data.player_id PlayerID BigInteger data.idp_index IdP 指數 Integer data.idp_id IdP 名稱 String data.idp_user_id IdP 用戶 ID String
回應碼 代碼值 描述 0 成功 2499 JWT 驗證失敗(請參閱 token_validation) 4000 無效參數 4001 請求 JSON 錯誤 4200 不存在的 IdP 5000 內部伺服器錯誤 7000 無效令牌 7001 標頭中沒有標記值
請求範例 {
"appid" : "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal" ,
"idp_index" : 3 ,
"idp_user_id" : "google_67890" ,
"require_token" : true
}
回應範例 標題 HTTP/1.1 200
Content-Type: application/json; charset = UTF-8
Authorization: abcdf7ebce779429ea878f91d5f1c8
ISCRYPT: 0
成功 {
"result_code" : 0 ,
"result_msg" : "SUCCESS" ,
"token_validation" : {
"result_code" : 0 ,
"result_msg" : "success"
},
"data" : {
"player_id" : 100000002 ,
"idp_index" : 3 ,
"idp_id" : "GOOGLE" ,
"idp_user_id" : "google_67890"
}
}
連結 IdP 將新的 IdP 連結到現有玩家帳號。僅在建立玩家 ID 後,IdP 連結才可用。
請求網址 請求頭 欄位名稱 描述 類型 必填 X-Access-Token 用於遊戲伺服器驗證的 OAuth 2.0 存取權杖 (請參閱 OAuth 權杖核發 ) String Y ISCRYPT 資料是否加密(0 = 未加密;始終傳遞 0) Integer Y
請求正文 欄位名稱 描述 類型 必填 appid 應用程式 ID String Y idp_index IdP 索引代碼。參見 IdP 索引參考 Integer Y idp_user_id IdP 使用者唯一識別碼 String Y player_id PlayerID 連結 BigInteger Y
回應正文 欄位名稱 描述 類型 result_code 回應代碼 詳情 Integer result_msg 結果留言 String token_validation JWT 驗證結果 (JWT 驗證錯誤 ) Object token_validation.result_code JWT驗證結果碼 Integer token_validation.result_msg JWT 驗證結果訊息 String data.player_id PlayerID BigInteger data.idp_index 連結 IdP 索引 Integer data.idp_id 連結的 IdP 名稱 String data.idp_user_id IdP 用戶 ID String #### 回應碼 代碼值 描述 --- --- 0 成功 1002 此 IdP 已連結到另一個玩家 1003 相同的 IdP 類型已連結 2002 不存在的玩家 2499 JWT 驗證失敗(請參閱 token_validation) 4000 無效參數 4200 不存在的 IdP 5000 內部伺服器錯誤 7000 無效令牌 7001 標頭中沒有標記值
請求範例 {
"appid" : "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal" ,
"idp_index" : 2 ,
"idp_user_id" : "fb_12345678" ,
"player_id" : 100000001
}
回應範例 成功 {
"result_code" : 0 ,
"result_msg" : "SUCCESS" ,
"token_validation" : {
"result_code" : 0 ,
"result_msg" : "success"
},
"data" : {
"player_id" : 100000001 ,
"idp_index" : 2 ,
"idp_id" : "FACEBOOK" ,
"idp_user_id" : "fb_12345678"
}
}
已連結至其他玩家 {
"result_code" : 1002 ,
"result_msg" : "Already connected other player" ,
"token_validation" : {
"result_code" : 0 ,
"result_msg" : "success"
},
"data" : {
"player_id" : 100000002 ,
"idp_index" : 2 ,
"idp_id" : "FACEBOOK" ,
"idp_user_id" : "fb_12345678"
}
}
取消連結 IdP 取消連結到玩家帳號的 IdP。僅在建立玩家 ID 後才可以使用 IdP 取消連結。
請求網址 請求頭 欄位名稱 描述 類型 必填 X-Access-Token 用於遊戲伺服器驗證的 OAuth 2.0 存取權杖 (請參閱 OAuth 權杖核發 ) String Y ISCRYPT 資料是否加密(0 = 未加密;始終傳遞 0) Integer Y
請求正文 欄位名稱 描述 類型 必填 appid 應用程式 ID String Y idp_index IdP 索引代碼。參見 IdP 索引參考 Integer Y idp_user_id IdP 使用者唯一識別碼 String Y player_id PlayerID 取消連結 BigInteger Y
回應正文 欄位名稱 描述 類型 result_code 回應代碼 詳情 Integer result_msg 結果留言 String token_validation JWT 驗證結果 (JWT 驗證錯誤 ) Object token_validation.result_code JWT驗證結果碼 Integer token_validation.result_msg JWT 驗證結果訊息 String #### 回應碼 代碼值 描述 --- --- 0 成功 2499 JWT 驗證失敗(請參閱 token_validation) 4000 無效參數 4006 沒有連結的 IdP 資訊 4200 不存在的 IdP 7000 無效令牌 7001 標頭中沒有標記值
請求範例 {
"appid" : "com.com2us.hivesdk.normal.freefull.apple.global.ios.universal" ,
"idp_index" : 2 ,
"idp_user_id" : "fb_12345678" ,
"player_id" : 100000001
}
回應範例 成功 {
"result_code" : 0 ,
"result_msg" : "SUCCESS" ,
"token_validation" : {
"result_code" : 0 ,
"result_msg" : "success"
}
}
Note 當JWT驗證失敗時,您可以在token_validation欄位中查看詳細的錯誤訊息。詳細資訊請參閱JWT 驗證錯誤代碼 。