iOS 用のサーバー側 Google サインインには、この統合マニュアルを使用しています: https://developers.google.com/+/mobile/ios/getting-started
ユーザーにサインインさせてIDトークンをバックエンドサーバーに渡すと、次のエラーが表示されます。
[ 認識できないクライアントのため、トークンが無効です。]
クライアントが正しくセットアップされているかどうかを確認しましたが、私が見る限り、正しくセットアップされています。以下に示すように、私はいつものことをしました:
GPPSignIn.sharedInstance().clientID = "some_code.apps.googleusercontent.com"
GPPSignIn.sharedInstance().homeServerClientID = "some_code.apps.googleusercontent.com"
GPPSignIn.sharedInstance().scopes = [kGTLAuthScopePlusLogin]
GPPSignIn.sharedInstance().delegate = self
GPPSignIn.sharedInstance().authenticate()
func finishedWithAuth(auth: GTMOAuth2Authentication!, error: NSError!) {
sendPOSTRequest("https://url", params: "idToken=" + GPPSignIn.sharedInstance().idToken)
}
func application(application: UIApplication,
openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool {
return GPPSignIn.sharedInstance().handleURL(url,
sourceApplication: sourceApplication,
annotation: annotation)
}
そして、Identifier フィールドと URL Schemes フィールドの両方に記載されているバンドル ID を使用して、URL タイプを追加しました。
同じ結果で GIDSignIn ルートをたどりました。