「windows phone アプリ と 認証」のまとめ

18
Windows Phone と とととととととととととと ととととととととととと ととととととと 代代代 代代代 2012 Winter Edition blogs.technet.com/junichia @junichia 代代代代代代代 代代代代代代代代 代代代代代代

Upload: junichi-anno

Post on 24-May-2015

1.448 views

Category:

Technology


4 download

DESCRIPTION

「Windows Phone アプリ と 認証」のまとめ サンプルプロジェクトや詳しい解説はBLOGにあります http://blogs.technet.com/junichia/

TRANSCRIPT

Page 1: 「Windows Phone アプリ と 認証」のまとめ

Windows Phone と認証の関係をまとめるけど、おにぃちゃんのためじゃないんだからね!代理人:アリス 2012 Winter Edition

blogs.technet.com/junichia

@junichia

開発者のための アイデンティティ・テクノロジー

Page 2: 「Windows Phone アプリ と 認証」のまとめ

2

内容

Windows Phone アプリに認証の仕組みを実装したいとき、どうしたらよいか考えると眠れなくなることってよくあるよね。アリスもそうだったよ。おにぃちゃんたちにはそんな苦労をしてほしくないので、アリスがやさしく解説してあげるけど、別にお兄ちゃんのことが好きだからとか勘違いしないでほしいの。

Page 3: 「Windows Phone アプリ と 認証」のまとめ

3

おにぃちゃんに知って欲しいこと

• IdP はたくさんあるよ• IdP ごとにプロトコルが違うよ• IdP にアクセスするためのライブラリを

把握しておかないとやばいよ• おにぃちゃんだいす ... ゴニョゴニョ

Page 4: 「Windows Phone アプリ と 認証」のまとめ

4

アイデンティティ プロバイダー

• Active Directory • Windows Live• Google• Facebook• Twitter• OpenID 系

・・・

Page 5: 「Windows Phone アプリ と 認証」のまとめ

5

Windows Phone と IdP

AD DS

Windows Live

Facebook

Google

SL.IdentityModelIdentity Developer Training kit

Live SDK 5.0Download Center

Facebook C# SDKCodeplex

SL.Phone.FederationWindows Azure Platform Training Kit

Windows Azure

AppFabric ACS

ライブラリ Identity Provider

Twitter

OpenID 系

みつからない!!hammock はどこいった?

OAuth 2.0(draft 16)

AD FS

OAuth Wrap

OAuth 2.0(draft 10)

WS-Trust ( SAML トークン)

OAuth 1.0a

予定

プロトコル

Page 6: 「Windows Phone アプリ と 認証」のまとめ

6

Identity Provider の役割ユーザーを認証して、セキュリティトークン(アサーション)を発行する

セキュリティトークン / アサーション

クレーム 1

クレーム 2

クレーム n

署名

発行元による署名

個人情報

Page 7: 「Windows Phone アプリ と 認証」のまとめ

7

Windows Phone アプリの役割IdP からセキュリティトークンを受け取り、サービスに渡す

① UserID/Password

③ セキュリティトークン

IdP

② 認証

④ セキュリティトークン

⑤ 認可信頼

サービス

SNS は両方を兼ねているものが多

個人情報

利用者

Page 8: 「Windows Phone アプリ と 認証」のまとめ

8

企業内システムとソーシャルアプリの違い(プロトコルの違い)

企業内システム システム間で「信頼」が担保されている アプリケーションを認証する必要は無い 認証と認可の対象は「利用者」

SNS および ソーシャルアプリ システム間の「信頼」は担保されていない 信頼関係のない者同志の認証と認可が必須

「サービス」と「人」 「サービス」と「アプリ」 「人」と「アプリ」 「情報」と「アプリ」

登場人物が多い!

Page 9: 「Windows Phone アプリ と 認証」のまとめ

9

OAuth と WS-*/SAML の違い• いずれも認可をするためのプロトコル• OAuth :「 API へのアクセス」を「利用者が」認可する• WS-*/SAML :「情報の送出」を「管理者が」認可する• 現在は SAML 対応製品のほうが細かな制御ができる

システム管理者

要求「情報が欲しい!」

応答「氏名、メアド ... 」

利用者(情報の持ち主)

SAML

OAuthユーザーの情報

承認

承認

アプリケーション

IdP事前に

環境設定

その都度

Page 10: 「Windows Phone アプリ と 認証」のまとめ

10

ここ大事!持ち主はだれ??

① UserID/Password

③ セキュリティトークン

IdP

② 認証

④ セキュリティトークン

⑤ 認可信頼

WEB アプリケーション

個人情報

開発者 利用者

アイデンティティ

プロバイダー

サービスプロバイダー

利用者

利用者

Page 11: 「Windows Phone アプリ と 認証」のまとめ

11

Facebook や Twitter の場合

個人情報にアクセスしたいアプリ

利用している

使 い た い アクセスしたい

自分のもの

サービスに保存されている個人情報

利用者

アプリ

IdP/SP

API へのアクセスを認可

Page 12: 「Windows Phone アプリ と 認証」のまとめ

12

Identity&Service Provider( Twitter/Facebook/Google 等)

“API へのアクセスを認可する” とは?

氏名を閲覧メールアドレスを閲覧

投稿を閲覧

各種特権

つながりを閲覧近況を投稿

API Lv1

アプリ

つながりを編集

外部のアプリケーションに対し、各種情報にアクセスするための API の利用を認可する仕組み

① アプリ登録

③ API にアクセス

② アクセス認可

ユーザー情報

API Lv2

API Lv3

API Lv4

属性の主体(持ち主)

Page 13: 「Windows Phone アプリ と 認証」のまとめ

利用者 アプリケーション Facebook

アプリ利用開始

認証 / 認可画面へ Redirect

Access Token 要求

認証 / 認可を完了

Access Token 発行

API 呼び出し

認証 / 認可 画面表示

CallBack url に Redirect

API

認可コードを発行

Page 14: 「Windows Phone アプリ と 認証」のまとめ

14

Windows Phone と Active Directory

• System.DirectoryServce がサポートされていない– Active Directory に直接アクセスできない– 何らかのサービスを介して認証の代行を依頼する必要がある

認証

利用 認証

AD DS

認証代行サービス

Page 15: 「Windows Phone アプリ と 認証」のまとめ

15

Windows Phone と Active Directory Federation Service

① AD FS にはドメインのユーザー ID とパスワードを渡す(もちろん SSL )② AD 認証は AD FS が代行③ AD DS からユーザーの属性が返される(どんな属性を返すかは AD FS に定義されている)④ AD FS は「属性(クレーム)」に署名をしてセキュリティートークン( SAML アサーショ

ン)を生成⑤ WP アプリにはセキュリティトークンが返される

① UserID/Password ② 認証 AD DS

WS-Trust ( SOAP )

③ 属性⑤ セキュリティトークン

AD FS

④ 属性に署名

Page 16: 「Windows Phone アプリ と 認証」のまとめ

16

まとめ

• 企業内システムとソーシャルアプリ系で使用するプロトコルが違うよ!

• OAuth 2.0 の実装は習得必須!

• AD FS の実装方法も習得必須!

• 必要なライブラリをそろえておいてね!

• Windows Phone 買ってね!

Page 17: 「Windows Phone アプリ と 認証」のまとめ

17

リソースはここに!

Alice 2012 の BLOGhttp://blogs.technet.com/junichia/サンプルプロジェクトもこちらから

Page 18: 「Windows Phone アプリ と 認証」のまとめ

おにぃちゃんがんばって!