1

サービス管理 API を利用する iOS (Objective-C) アプリのセットアップに苦労しています。私は Storage API 呼び出しを正常に機能させることができましたが、私が読んだところによると、2 つの Azure API の大きな違いの 1 つは認証の問題のようです。参考までに、私が理想的にやりたいことは、単純な API 呼び出しをセットアップして、アプリ内の Hosted Services アカウントを一覧表示することです (最終的にはパブリック デプロイを対象としています)。

API Azure ドキュメントによると、Service Management API では、管理証明書 (.cer) をアップロードしてから、クライアントがその証明書を使用して要求を認証する必要があります。ダウンロードしたアプリを含むデバイスを使用するパブリック ユーザーはその証明書を持っていないか、objective-c でプログラムによってアタッチする機能を持っていないため、これにより、私が作成したいアプリのようなアプリを実現することができなくなります。コード。

私の勘はこれで正しいですか?これは追及されるべきではない寂しい考えですか?これを可能にするには、ユーザーがデバイスの証明書ファイルを何らかの形で Azure にアップロードし、アプリでこの証明書を認証に使用する必要があると思います。たとえそれが可能だとしても、どこから始めればいいのか少し迷っています。:(

役立つ情報をいただければ幸いです。私は iOS 側で多くの経験を持っていますが、特にこのタイプの認証/証明書では、残念ながら経験がほとんどありません。

前もって感謝します!!-ヴィンセント

4

2 に答える 2

1

実際、私はあなたが話していることを正確に行うアプリを持っています. CloudTools for Windows Azureは、Azure 管理サービス API を使用して Azure 管理を実行する iOS アプリです。iTunesで1年以上配信されています。

あなたの質問はやや大雑把ですが、証明書の問題がアプリの設計/開発における最大の問題であったと言えます。キーチェーンは次のような方法で機能するため、証明書をキーチェーンに保存することはできません。a) 証明書を必要とするリモート URL を要求します。b)そのURLは証明書が必要であることを示し、c)キーチェーンは適切な証明書を提供します。これはマルチリクエストプロセスです。Azure サービス管理 API は最初の呼び出しに証明書が含まれていることを想定しているため、これは Azure では機能しません

ユーザーは、iTunes ファイル共有を介して証明書を追加する必要があります (手順はこちら)。もちろん、公開キーの部分を Azure にアップロードする必要があります。次に、要求ごとに証明書と秘密鍵を提供します。私は HTTP ライブラリASIHttpRequestを使用していますが、最新 (iOS 5.x) の Apple ライブラリにも同様の機能があると思います。

今後もご不明な点がございましたら、詳細をお知らせいただければ幸いです。

于 2012-06-14T18:08:36.950 に答える
0

Windows Azure では、Service Management API を使用している場合、接続を要求しているマシンと Windows Azure Management Portal の間に SSL トンネルを作成するために証明書ベースの認証が必要です。iOS アプリケーションの配布範囲がどの程度かはわかりません。

私が最初に考えたのは、なぜ iOS アプリケーションから Windows Azure アプリケーションをデプロイする必要があるのか​​ということです。iOS デバイスでアプリケーションをビルドしてデプロイするのでしょうか? Windows Azure アプリケーションの展開は主にクライアント マシン上で行われるため、iOS での Azure アプリケーション管理は優れたアイデアですが、iOS からのアプリケーション展開はその理由がわかりません。ここで何か大きな問題を抱えている可能性があります..どちらの場合でも、iOS デバイスでサービス管理証明書が本当に必要です。ユーザーが Service Management 証明書をインストールできるエンタープライズ アプリであれば、iOS デバイスで Service Mgmt API を使用しやすくなります。

したがって、クライアント iOS アプリから Service Management API を使用する場合、Windows Azure Portal に直接接続するように構成された Windows Azure で WCF サービスをホストすることが最善の解決策になると思います。iOS アプリからは、WCF サービスを呼び出すだけです。これは、任意のクライアント アプリ (WP7、iOS、Android) から (WCF サービスを介して) サービス管理 API にアクセスするための非常に一般的な方法であり、クライアント側のコードは非常に軽量です。一方、Windows Azure で WCF サービスをホストするには料金が必要になる場合があります。

于 2012-06-13T16:51:21.887 に答える