Azure
App Service Authentication
― Azure App Service 上に、Web サイトを立てて、の話 ―
Azure App Service 認証ってなに?
What’s “Azure App Service Authentication”?
あっ!という間に「Twitterでログイン」が作れてしまう機能
• Azure ポータルでぽちぽち設定するだけ!
• Webサイト側の実装は不要
☞ 静的コンテンツだけの Web サイトでもOK!
※「Twitter でログイン」以外にも下記に対応
「facebook でログイン」
「Google アカウントでログイン」
「Microsoftアカウントでログイン」
「Azure Active Directory でログイン」
https://apps.twitter.com から “Create New Apps” して、Web サ
イトを登録、API Key と API Secret を GET!
Azure ポータルで App Service Auth を有効化、
“Twitterでログイン” を指定、API Key と Secret を SET!
以上!
この Web サイトにアクセスしてみると…
Twitter で承認を
求められるようになった!
どう活用できる?
• 静的コンテンツのみの開発中のWebサイトを、一般公開前に関
係者限定に保護する、とか?
静的コンテンツのみWebサイトではちょっと難しい
• 認証まではやってくれるけど、認可=「誰がアクセス許可され
ているか」を制御するところまではやってくれないっぽい。
• 「Twitterでログイン」だと、Twitter アカウント持ってる人なら誰でも
アクセスできることになる。
• 「Azure Active Directory でログイン」であれば「AさんとBさんにだけ公
開!」ができる (らしい)。
サーバー側プログラム書いてよければ対応可能
• 要求ヘッダにユーザー情報が格納されてる
• これでアクセス可否を判定できる
• 要求ヘッダ見るだけだから処理系に依存しない
• PHP, Java, Python, C#/F#/VB, Node.js, etc…
アクセストークンも取得できる
• 要求ヘッダにこんなものが。
• 「Twitterでログイン」なら、ログインしたユーザーのTwitterア
カウントでつぶやいたりできる …はず。 (すみません、未確認)
クライアント側 JavaScript からでも
• ブラウザにロードされた JavaScript から /.auth/me に HTTP GET す
ることでも JSON でアクセストークン取り出せる
• クライアント側実装だけで Twitter に投稿できる …はず (すみません、未確認)
• えと、それって、Azure Mobile App なんすかね? (すみません、わかってません)
疑問: マイク○ソフトにロックインされんじゃね?
Question
大丈夫なんじゃないかな!
• 本気だせば「Twitterでログイン」くらい自分でも実装できるか
ら、大丈夫なんじゃないかな!
• Her○ku にデプロイしなくちゃならないときが来たら、その時
考えればいいんじゃないかな!
Conclusion
まとめ
App Service Authentication、覚えておくと便利! …かも?
• Azure ポータルでぽちぽち設定するだけ!
• Webサイト側の実装は不要
☞ 静的コンテンツだけの Web サイトでもOK!
Learn, Practice, Share.
Happy coding :)

Azure App Service Authentication