この Android 認証と同等のものを iOS 用に探しています。
当初はブログ投稿しかし、現在はメインに組み込まれているAndroid ドキュメント検証により、次の 3 つのことがわかります。
- トークンは Google によって発行されました。
- トークンは、ペイロードの電子メール フィールドで識別された人物が操作していたデバイスに送信されました。
- トークンは、ペイロードの azp フィールドのクライアント ID によって識別される Android アプリによって取得されました。
重要な点は次のとおりです。
GoogleAuthUtil は、Android アプリと Web クライアント ID が同じプロジェクト内にあることを確認し、ユーザーの承認なしに、Google によって署名された ID トークンをアプリに返します。
したがって、ユーザーを邪魔することなく、バックエンドの呼び出しを検証できます。
AppleのiOSにも似たようなものがあるのでしょうか?Apple が iOS アプリと Web クライアント ID を監視する場合、Apple によって署名された ID トークンをどこで入手できますか?
私は見つけた質問です似たようなものを見つけようとしていますが、もっと簡単な解決策を期待しています。その質問は 1 年以上前に出されたものなので、新しい CloudKit Web サービスなど、もっと良い答えがあるのではないかと期待しています。
ベストアンサー1
幸運にも私はStackExchangeのこのスレッドユーザーがイワズコメントを残しました。
イワズ氏はアップルのデバイスチェックフレームワークこれを使用して、API への呼び出しが iPhone アプリの実際のインストールから行われたかどうかを確認することができます。
ドキュメントによると、次のように動作します。
- のメソッド
DCDevice
を呼び出して現在の値を取得します。DCDevice
currentDevice
- そこからメソッド
DCDevice
を呼び出してgenerateTokenWithCompletionHandler
トークンを取得します。 - API にリクエストを行うときに、そのトークンを他のデータとともに送信します。
- APIサーバーコードで、説明に従ってトークンを指定してAppleのAPIを呼び出し、検証します。ここ。