3. 本日の内容 企業内システム と ソーシャルアプリの思想の違いから発生する、認証および認可の考え方とアーキテクチャの違いについて理解しましょう Windows Azure AppFabric ACS が Windows Phone アプリに与えるインパクトを理解しましょう IAM テクノロジーに萌えましょう
4. Agenda 認証と認可を取り巻くトレンド 企業システムとソーシャルアプリの違い 何を認可するのか? Windows Phone への実装 Twitter を使用するためのコーディング例 OAuth 1.0aへの対応 Windows Azure AppFabric ACS を使用したコーディング例 複数 IdPへの一括対応 まとめ
19. “API へのアクセスを認可する” とは? 外部のアプリケーションに対し、 各種情報にアクセスするためのAPIの利用を認可する仕組み Identity&Service Provider (Twitter/Facebook/Google 等) ユーザー情報 ① アプリ登録 各種特権 氏名を閲覧 アプリ API Lv1 メールアドレスを閲覧 API Lv2 ③ APIにアクセス 投稿を閲覧 API Lv3 つながりを閲覧 API Lv4 ② アクセス認可 近況を投稿 つながりを編集 属性の主体 (持ち主)
36. 個別に対応すると大変...orz AccessToken IdP ここで複数IdPに対応 Windows Live Google Yahoo! Facebook OpenID AD FS 2.0 RESTful Web Service AccessToken の正当性に不安 改ざんされているかも!? Application
37. Windows Azure AppFabric ACS を使うと... IdP アプリは AppFabric ACS にだけ対応すればよい Windows Live Google Yahoo! Facebook OpenID Request Token AD FS 2.0 RESTful Web Service 信頼 Access Token 信頼 Application Windows AzureAppFabric ACS
45. WindowsPhoneCloud.ACSで使われているオリジナルライブラリ AspProviders: Windows Azure Tables 用の ASP.NET Providers (Membership, Roles, Profile and Session State Store) System.Data.Services.Client: Windows Phone 用の OData client library (http://odata.codeplex.com)。Azure Tables へのアクセスで使用。 WindowsPhoneCloud.StorageClient: Windows Phone 用の Windows Azure Storage Client library . DPE.OAuth: Microsoft DPE OAuth2 library. SL.Phone.Federation: Microsoft Silverlight ACS sign in control. Notification Services (MPNS): Tile, Toast, and Raw. WindowsPhone.Recipes.Push.Messages: Push Notification Server Side Helper Library, a part of the Windows Phone 7 Push Recipe, that provides an easy way to send all three types of push notification messages that are currently supported by Microsoft Push Windows Phone では WIF(Windows Identity Foundation)がサポートされていないため、とても便利!
46. WindowsPhoneCloud.ACS がやってること IdP WP7CloudApp5.Phone Windows Live Google ACS sign in control で簡単に実装 Yahoo! Isolated Storage にクレデンシャルとクレームを格納 Facebook OpenID OAuth 2.0 Simple Web Token AD FS 2.0 http authorization ヘッダーに入れて送信 REST(OData) 信頼 WP7CloudApp5.Web OAuth Wrap REST クレーム変換ルール サービスへのアクセスを認可 格納 信頼 Windows Azure Windows AzureAppFabric ACS