MSC2011 D3-303 “Windows Phone/iOS/Android から Windows Azure を利用する” session follow up - Part 3 : スクラッチでのソリューション開発–2 実行とACS認証

皆さん、こんにちは!次はいよいよ実行しながら、このテンプレートの持つ機能について、見ていきましょう。

Windows Phone Cloud Application の実行と認証

新規 Windows Phone Cloud Application プロジェクトを作成したら、下記のステップに従って、生成されたサンプルアプリケーションをウォークスルーしてみましょう。

アプリケーションのスタート

まず、ローカルのIISで、ポート 44310080 のポートを使う Web サイトやアプリケーションが動いていないことを確認してください。というのも、デフォルトでは、このプロジェクトテンプレートによって生成された ASP.NET MVC 3 Web Role は、2つの異なったエンドポイントにより構成されます:一つは HTTPS でポート 443、そしてもう一つは、HTTP でポート 10080 を使用するためです。

image

次に、Silverlight for Windows Phone projects の実行ターゲットが、Windows Phone Emulator にセットされていることを確認してください。

clip_image004_thumb[2]

次いで、ソリューションエクスプローラー内で、Windows Azure プロジェクトを右クリックし、デバッグをポイントして、新しいインスタンスを開始 をクリックします。

Web Roleがスタートするまで待ち、サイトが上がったら、次のような画面が出ますが、SSL前提のサイトで証明書がインストールされていないので、気にせず、”このサイトの閲覧を実行する”を選んでください(毎回こうです)。

image_thumb2

そしてログインページに遷移します。

image_thumb8

この Web アプリケーションにログインするには、下記のクレデンシャルを使用します :

◦ ユーザー名 : admin

◦ パスワード : clip_image006[4]_thumb (0 = ゼロ)

次に、ソリューションエクスプローラー内で、Windows Phone プロジェクトを右クリックし、デバッグをポイントし、 新しいインスタンスを開始をクリックします。 これにより、Windows Phone Emulator が起動し、アプリケーションがスタートします。

このアプリケーションは、log in ページにリダイレクトされます。アプリケーション作成時に、認証メカニズムとしてどれを選んだかによって(ASP.NET Membership または ACS)、異なったログインページにリダイレクトされることになります。これは、ASP.NET Membership と ACS とでは、認証のフローに、いくつか相違点があるからです。

clip_image007_thumb[2]

ログインページの中で、Install certificate リンクを押すと、Windows Phone Emulator  の中のInternet Explorerで、https://127.0.0.1:10080/127.0.0.1.cer. を開きます。

clip_image008[4]_thumb[2]

注意 :   HTTPS上のREST サービスを、 Windows Phone Emulator上のWindows Phone デバイスで利用するには、信頼された SSL 証明書が必要です。もしない場合には、自己署名証明書を使うことができますが、当該サービスを利用する前に、Windows Phone にインストールする必要があります。Computer Emulator は常にこの 127.0.0.1 自己署名証明書を利用するので、この証明書をインストールすれば、Windows Phone Emulator を使って次のステップに進めます。

盾のアイコンをクリックして、Compute Emulator の証明書を Windows Phone Emulator にインストールします。最終的に、インストール をクリックして、インストールしたい証明書を確認します。

※ここでの画像はすべて英語版になっていますが、日本語版のWP7.1 RC等をインストールしていれば、ちゃんと日本語になりますのでご安心ください。BabelCam - Part 2-1の解説の画面をご覧ください)

clip_image009[4]_thumb[2]

重要 : このデモでは、いったんWindows Phone Emulator を閉じて終了してしまうと、再度、SSL 証明書をインストールしなければなりませんので、そこだけご注意ください。終了しなければ、証明書は有効ですので、そのまま画面遷移が可能です。

署名書がインストールされたら、OK をクリックし、バックボタンを使って (clip_image010_thumb)、アプリケーションに戻ります

clip_image011[4]_thumb[2]

※これはBabelCam - Part 2-1の解説にも書いたとおりです。ご注意ください。

ユーザー認証 (ACS Authentication)

ここからあとは、セッションでは、アプリケーション構成時に、Access Control Service (ACS) を選んで説明しましたので、ACS をどのように構成して、ユーザー認証を行うかについて書いておきます。

※ASP.NET Membershipの場合には、別途、C:\WindowsAzure\WATWindowsPhone\DocsのReadme.docx を読んでみてください。

ログイン ページにて、構成済みの Identity Providers リストが表示されています。その中で適当な Identity Provider を選んで、アカウント情報を入力してログインします。

clip_image002[6]_thumb[2]

注意 : Windows Live ID、Google、およびYahoo等の Identity Providers は、ACS のサービス名前空間に自動的に構成されます。そのタイミングは、このアプリケーションがWindows Phone Cloud Application プロジェクトテンプレートから作成された時です。 .

もしこれがアプリケーションに対する最初のログインだった場合、登録ページにリダイレクトされます。ユーザーとして、”表示したい”名前と、e-mail アドレスを入力し、Register をクリックします。 登録が終了するまで待ち、登録がうまく行くと、Registration Successful というメッセージが返ってきます。そこで OK をクリックすると、ログインページにリダイレクトされます。

clip_image003[4]_thumb[2]

注意: 異なるクレデンシャルでログインしたい場合には、Phone Application BarにあるLog Outボタンをクリックしてログアウトする必要があります。いったんログアウトすると、ログインページにリダイレクトされます。

ちょっと長くなったので、ここまでですね。この後は、セッションでご紹介した、Push Notificationのデモから、Table、Blob、Queue、そしてSQL の操作について、Azure Storage Explorer の中身を見ながら、見ていきましょう。その後は、ソースコードを少し眺めてみたいと思います。

いやーかなり長くなってすみません…。早くiOS編に行きたいんですが(^^;)ゞ…もう少しお付き合いくださいませ。

鈴木 章太郎