Recommended
PPT
PDF
PPTX
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
PDF
PDF
SoftLayerにゅうもん(2016/03/04 SoftLayer勉強会)
PPTX
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
PDF
【Hinemos World 2013】C-1:HULFT運用管理もHinemosで!Hinemos 4.1ジョブ管理機能で実現する企業データ連携の新しい...
PDF
PBLのためのScrumとチケット駆動開発の融合 ~Scrum+PBL+TiDD~
PDF
PPTX
Web Services - Architecture and SOAP (part 1)
PDF
PDF
PPTX
Gustavo Travassos by SOAP
PDF
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
PDF
PPT
PDF
PDF
091009 Identity Conference #6 ritou
PPT
PDF
PDF
なぜOpenID Connectが必要となったのか、その歴史的背景
PPTX
Opauthライブラリによるtwitter,facebook認証について
PDF
WordCamp Tokyo2016itkaasan
PDF
なんとなくOAuth怖いって思ってるやつちょっと来い
PDF
PDF
OpenID Connect - Nat Sakimura at OpenID TechNight #7
PDF
Yahoo!ボックスAPI Hackathon向け資料
PPTX
PDF
PDF
Basics: OAuth and OpenID Connect #fapisum - Japan/UK Open Banking and APIs Su...
More Related Content
PPT
PDF
PPTX
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
PDF
PDF
SoftLayerにゅうもん(2016/03/04 SoftLayer勉強会)
PPTX
中国Firefox OS勉強会 3rd 組み込み屋さんから見たFirefox OS
PDF
【Hinemos World 2013】C-1:HULFT運用管理もHinemosで!Hinemos 4.1ジョブ管理機能で実現する企業データ連携の新しい...
PDF
PBLのためのScrumとチケット駆動開発の融合 ~Scrum+PBL+TiDD~
Viewers also liked
PDF
PPTX
Web Services - Architecture and SOAP (part 1)
PDF
PDF
PPTX
Gustavo Travassos by SOAP
PDF
「Redmineの運用パターン集~私に聞くな、チケットシステムに聞け」
PDF
Similar to ゼロからはじめるサーバーサイド Vol2
PPT
PDF
PDF
091009 Identity Conference #6 ritou
PPT
PDF
PDF
なぜOpenID Connectが必要となったのか、その歴史的背景
PPTX
Opauthライブラリによるtwitter,facebook認証について
PDF
WordCamp Tokyo2016itkaasan
PDF
なんとなくOAuth怖いって思ってるやつちょっと来い
PDF
PDF
OpenID Connect - Nat Sakimura at OpenID TechNight #7
PDF
Yahoo!ボックスAPI Hackathon向け資料
PPTX
PDF
PDF
Basics: OAuth and OpenID Connect #fapisum - Japan/UK Open Banking and APIs Su...
PDF
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
PPT
PDF
The Latest Specs of OpenID Connect at #idcon 9
PDF
PDF
ゼロからはじめるサーバーサイド Vol2 1. 2. 3. 前回のおはなし
データベース
Web サーバーとは
Apache, nginx, IIS…
HTTP で通信
暗号化通信の HTTPS
!
サーバーサイド
プログラミング
Java, Perl, PHP, Python,
Ruby, ASP.NET (C#, etc…)
RDBMS
MySQL, Postgresql, Oracle,
Microsoft SQL Server…
NoSQL (Not only SQL)
MongoDB, Redis…
!
ブラウザのページ取得
静的/動的の違い
GET/POST
GET で実装すべきか、POST
で実装すべきか
4. 5. 6. Web API とは
そもそも API って何?
Application Programming Interface (アプリケー
ション・プログラミング・インターフェース)の略。
あるプログラムの機能/データを他のプログラムか
ら呼び出す規約のこと。
Windows アプリケーションを作るとき…
いちからウィンドウを表示するプログラムを作る…のは面倒!
でも、Windows API を呼び出せば、短いコードで簡単に!
べんり!!
7. Web API とは
じゃあ Web API は?
インターネット経由で他の Web サービスのデー
タを取得したり、機能を使うことができる。
JSON や XML などの形式で取得でき、
JavaScript や サーバーサイド言語でうまく取り
扱えるようになっている。
認証が必要な場合も。
キーを取得したり OAuthで認可を得る。
8. 9. Web API とは
たとえば…
Google Maps API を使って、
移動距離/時間を呼び出す
はてなブックマーク件数取得API を使って、
はてブ数を取得する
Amazon Product Advertising API を使って、
商品情報を取得する
10. Web API とは
使ってみる
TechBuzz Space から 新宿駅 までの
ルート検索
http://bit.ly/zeross-sample
Google 検索で 「サーバーサイド」の
サジェスト取得
http://bit.ly/zeross-sample2
どんな API があるのか、どういうふうに使うのかは
しっかりドキュメントを読みましょう!
11. 12. 13. OAuth の使い道
Web API を使う権限を認可
OAuth にはログイン機能はない
ユーザーは「Resource Owner」
OAuth を使った API を提供しているサービスは
「OAuth Server」
OAuth Server の API を利用するサービスは
「OAuth Client」
OAuth Server のリソースを使うための認可
14. 15. OAuth の流れ
Twitter を使う場合の例
•
フロー開始
•
•
OAuth Client
•
認可レスポンス
「Twitter でログインする」
•
OAuth Client から OAuth Server
へリダイレクト
•
OAuth Server
•
「○○があなたのアカウントを
利用することを許可しますか?
•
「連携アプリを認証」
•
リダイレクト URL にアクセス
権限付与のトークンを含む
アクセストークンとの交換
•
アクセス権限の付与
•
OAuth Server から OAuth Client
へリダイレクト
•
認可のリクエスト
•
•
•
OAuth Client は、取得したトーク
ンを Access Token と交換
以後、API へアクセスできる
•
アクセストークンが期限切れ また
は 無効化されるまで
16. 17. 18. 19. OpenID とは
Yahoo! JAPAN の OpenID を使ってみる
「Yahoo! Japan IDやパスワードはOpenID対応サイトには送信されません」
•
認証だけしてもしょうがない…?
•
API の利用やモバイルには不便
•
強固な暗号化をサポートしない
20. 21. OpenID と OAuth の違い
認証 と 認可
認証: Authentication
(おーせんてぃけーしょん)
ID が正しくそのユーザーのものか
認可: Authorize
(おーそらいず)
ID の使うサービスに適切な権限を付与
22. OpenID と OAuth の違い
ひらたくいうと
OpenID
ユーザーの認証情報をやりとり
OAuth
OAuth Server の API へアクセスを実現
OAuth は 認証のやり方を決めていない
23. 24. OAuth 認証?
「半分正解、半分間違い」?
OAuth は API へのアクセス権限を付与するもので、
本人認証の機能を持っていない
「ソーシャルログイン」の実装として、API のアクセス
権限と取得しつつユーザーアカウントとして使ってしまおう
「ツイート読み込む権限を取得しないと」
「フォロワーしている人を読み込む権限を取得しないと」
余計な権限を与える/もらうっていうのは
セキュアじゃないよね
25. 26. 27. 28. 29. 30. 31. 32. 33. 34. Ajax とか
WebSocket とは
Comet のようなリアルタイム通信
長時間接続が前提
接続中は、
クライアントからサーバーの通信
サーバーからクライアントの通信
接続は 1 回 で何回でも送受信可能
最初は HTTP を使い接続を確立、その後 WebSocket
ws://example.com/hoge
サーバーにやさしい
35. Ajax とか
WebSocket を使う?
ブラウザの対応状況
クライアント側は、
Internet Explorer 10(含むモバイル)、
Mozilla Firefox 6 (Firefox for Mobile 7)、
Google Chrome 4 (含むモバイル)、
Safari 5 (含むiOS 4.2以降)、
Opera 12.10(含むモバイル)、
Android 4.4、BlackBerry 7 (要設定)
で実装されている。
出典 http://ja.wikipedia.org/wiki/WebSocket#.E5.AE.9F.E8.A3.85.E7.8A.B6.E6.B3.81
36. 37. 参考資料
SOAP,WSDL,REST――Web APIの基礎技術を学ぶ
http://itpro.nikkeibp.co.jp/article/COLUMN/20060928/249253/
YAPC::Tokyo 2013 ritou OpenID Connect
http://www.slideshare.net/ritou/yapc2013-ritou-oidc
なぜOpenID Connectが必要となったのか、その歴史的背景
http://www.slideshare.net/tkudo/openid-connect-devlove
非技術者のためのOAuth認証(?)とOpenIDの違い入門
http://www.sakimura.org/2011/05/1087/
単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる
http://www.sakimura.org/2012/02/1487/
SPAを実現するために必要な通信技術
http://www.slideshare.net/yusukenaka52/spa-30482031
双方向通信を実現! WebSocketを使いこなそう
http://www.atmarkit.co.jp/ait/articles/1111/11/news135.html
WebSocket - Wikipedia
http://ja.wikipedia.org/wiki/WebSocket