使用 iOS Game Center 憑證登入或註冊使用者。如果登入成功,系統會為已驗證的使用者核發新的 Identity Platform ID 權杖和重新整理權杖。要求標頭中必須包含軟體包 ID,格式為 x-ios-bundle-identifier
。
如要識別 Google Cloud 專案,請在要求中提供 API 金鑰。
Apple 已淘汰 playerID
欄位。Apple 平台 Firebase SDK 會從 10.5.0 以上版本開始使用 gamePlayerID
和 teamPlayerID
。升級至 SDK 10.5.0 以上版本後,使用 playerID
的現有整合作業會改為使用 gamePlayerID
和 teamPlayerID
。呼叫 signInWithGameCenter
時,您必須將 playerID
與新欄位 gamePlayerID
和 teamPlayerID
一併納入,才能順利識別所有現有使用者。
將現有的 Game Center 登入整合功能升級至 SDK 10.5.0 以上版本後,便無法再將其降級。
HTTP 要求
POST https://identitytoolkit.googleapis.com/v1/accounts:signInWithGameCenter
這個網址使用 gRPC 轉碼語法。
要求主體
要求主體包含下列結構的資料:
JSON 表示法 |
---|
{ "playerId": string, "publicKeyUrl": string, "signature": string, "salt": string, "timestamp": string, "idToken": string, "displayName": string, "tenantId": string, "teamPlayerId": string, "gamePlayerId": string } |
欄位 | |
---|---|
playerId |
這是必要旗標,使用者的 Game Center 玩家 ID。已由 Apple 淘汰。 將 |
publicKeyUrl |
這是必要旗標,用來擷取 Apple 公開金鑰的網址,以便驗證由 Apple 簽署的簽名。 |
signature |
這是必要旗標,Apple 產生的驗證簽名資料。 |
salt |
這是必要旗標,用於產生指定簽章的隨機字串。 |
timestamp |
這是必要旗標,Apple 建立簽章的時間,以 Epoch 紀元時間起算的毫秒數為單位。 |
idToken |
Identity Platform 帳戶的有效 ID 權杖。如果有此 ID 符記,這項要求會將 Game Center 玩家 ID 連結至由此 ID 符記代表的帳戶。 |
displayName |
使用者的 Game Center 顯示名稱。 |
tenantId |
使用者要登入的 Identity Platform 租用戶 ID。 |
teamPlayerId |
使用者的 Game Center 團隊玩家 ID。您使用開發人員帳戶發行的所有遊戲玩家專屬 ID。https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid |
gamePlayerId |
使用者的 Game Center 遊戲玩家 ID。遊戲玩家的專屬 ID。https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid |
回應主體
accounts.signInWithGameCenter 的回應訊息
如果成功,回應主體會含有以下結構的資料:
JSON 表示法 |
---|
{ "localId": string, "playerId": string, "idToken": string, "refreshToken": string, "expiresIn": string, "isNewUser": boolean, "displayName": string, "teamPlayerId": string, "gamePlayerId": string } |
欄位 | |
---|---|
localId |
已驗證使用者的 ID。回應中一律會出現。 |
playerId |
使用者的 Game Center 玩家 ID。 將 |
idToken |
經過驗證的使用者所需的 Identity Platform ID 權杖。 |
refreshToken |
已驗證使用者的 Identity Platform 重新整理權杖。 |
expiresIn |
ID 權杖到期前的秒數。 |
isNewUser |
這項要求是否建立登入使用者。 |
displayName |
已驗證使用者的顯示名稱。 |
teamPlayerId |
使用者的 Game Center 團隊玩家 ID。您使用開發人員帳戶發行的所有遊戲玩家專屬 ID。https://developer.apple.com/documentation/gamekit/gkplayer/3174857-teamplayerid |
gamePlayerId |
使用者的 Game Center 遊戲玩家 ID。遊戲玩家的專屬 ID。https://developer.apple.com/documentation/gamekit/gkplayer/3113960-gameplayerid |
授權範圍
需要下列其中一種 OAuth 範圍:
https://www.googleapis.com/auth/identitytoolkit
https://www.googleapis.com/auth/cloud-platform
詳情請參閱 Authentication Overview。