私はhttpsを介してサーバーと通信するiOSアプリを持っています。iOSアプリケーションからhttpリクエストを認証する方法は?
サーバーがそのアプリケーションからの要求にのみ応答するように、アプリケーションを認証することは可能ですか?言い換えれば、ブラウザ/カール/別のアプリ/ etcからのHTTPリクエストに応答しませんか?
ユーザーの認証に興味はありません。私のアプリだけがサーバーと通信できることを確認しています。
私が考慮したこと:
- サーバーとアプリのシェアドシークレットしかし誰でもアプリのバンドルを見て、秘密を抽出することができます。
- プッシュ通知を使用する。アプリケーションの連絡先サーバーに送信し、サーバーにプッシュ通知トークンを通知します。サーバーはアプリに到達するプッシュ通知を送信します。他には通知を受け取ることができないので、共有秘密を埋め込みます。共有秘密は、アプリがそれ以降使用することができます。しかし、プッシュ通知は遅れて配信することも、配信することもできません。そして、多くのユーザーはそれらを有効にしたくありません。
明らかに、アップルはデバイスを認証してプッシュ通知をどこに送信するかを知っています。しかし、これにフックする方法はありますか?
MACアドレスはWifi /携帯端末によって異なります。 – simonmenke