はじめに
前回は、Windows Azureモバイルサービスのプッシュ通知方法について解説しました。今回はさらに、認証サービスとの連携について解説していきます。
対象読者
今回の対象読者は下記のとおりです。
- Windows Azureに関する基礎的な知識
- Windows Azureモバイルサービスに興味がある方
必要な環境
- Windows Azureサブスクリプション
- Windows 8
- Windows ストア開発者アカウント
- Visual Studio 2012(Express版でも可)
Windows モバイルサービスと認証
新しいサービスを提供する場合、いくつかの外部認証サービスと連携するのは必須になりつつあります。Windowsモバイルサービス(以降、モバイルサービス)では、こららの認証サービスを利用するための仕組みがあらかじめ組み込まれており、Microsoftアカウントはもちろん、以下にあげる第三者の認証サービスを簡単に利用することができます。
- Microsoftアカウント(旧Live ID)
今回はサンプルアプリケーションをベースに、MicrosoftアカウントとTwitterの認証サービスの利用手順を紹介していきます。まず始めに、モバイルサービスの連携の仕組みを説明します。
図1は、ストアアプリとモバイルサービス、認証サービスの関係を表した概念図です。モバイルサービスは自身が認証サービスを提供するのではなく、認証サービスに委譲しており、それを利用します。
それでは、処理の流れについて説明します。あらかじめ、モバイルサービス側と認証サービス側は、信頼関係(①)を設定しておきます。ここでいう信頼関係とは、共通する秘密情報を共有することを意味します。このような設定をすることで、お互いのサービスが連携できるようになります。
次にストアアプリが認証サービスを利用して、ユーザー認証を行います(②)。通常はユーザーIDとパスワードを入力し、自分自身がアカウントの保有者であることを提示(ログインやサインイン)します。このとき認証サービス側からは、認証されたことを証明するトークンと呼ばれる情報が発行されます。
最後に発行されたトークンをモバイルサービス側に提示しますが、トークンが正しい認証サービスで発行されたものであると判断されれば、サービスが利用可能になります(③)。
今回は、前回作成したサンプルアプリケーションをベースに改編を行っています。新規にはじめられる場合は、前回を参考にWindowsストアアプリへの登録やモバイルサービスの設定などを行ってください。
認証サービスとの連携
前述したとおり、モバイルサービスと認証サービスの間に信頼関係を結ぶため設定を行います。
設定の変更
最初に、前回作成したモバイルサービスを認証に対応するよう設定変更を行います。
[1]テーブルのアクセス許可を変更する
前回のサンプルではMessageテーブルを作成したので、そのアクセス許可を変更します。
Windows Azure管理ポータルにログインし、モバイルサービス画面を開きます。モバイルサービスを選択し、画面上部の[データ]を選択しMessageテーブルを選択します。さらに、画面上部の[アクセス許可]を選択してください。操作ごとにアクセス許可を設定できますが、ここではすべての操作について「認証されたユーザーのみ」に変更し保存してください(図2)。