際際滷

際際滷Share a Scribd company logo
ゼロからはじめる
サ`バ`サイド
及2指
STANDS / @chatii0079
徭失B初
?

STANDS (スタンヅ) 旗燕

?

ずっとフリ`で碧並してます

?

R~ 湊匯

?

PHPersはLい

?

ネットワ`クBや Windows Server
のO協とか

?

蒙歩なのだととかカメラのO崔O協

?

哈竃しは謹い

?

http://chatii.net

?

Twitter: @chatii0079

?

ちゃちいさんと柵んでください
念指のおはなし
デ`タベ`ス

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 でg廾すべきか、POST
でg廾すべきか
云晩の彖
Web API
OAuth
OpenID
Ajax とか (扮寂あれば)
Web API
(うぇぶ え`ぴ`あい)
Web API とは
そもそも API って採

Application Programming Interface (アプリケ`
ション?プログラミング?インタ`フェ`ス)の待。
あるプログラムのC嬬/デ`タを麿のプログラムか
ら柵び竃すシsのこと。
Windows アプリケ`ションを恬るとき´
いちからウィンドウを燕幣するプログラムを恬る´のは中宜
でも、Windows API を柵び竃せば、玉いコ`ドでgに

べんり!!
Web API とは
じゃあ Web API は

インタ`ネットU喇で麿の Web サ`ビスのデ`
タを函誼したり、C嬬を聞うことができる。
JSON や XML などの侘塀で函誼でき、
JavaScript や サ`バ`サイド冱Zでうまく函り
Qえるようになっている。
J^が駅勣な栽も。?
キ`を函誼したり OAuthでJ辛を誼る。
Web API
サ`バ`/クライアントのどち
らもWeb API を旋喘できる
!

Web API を戻工するシステ
ムはその嶄でデ`タを喘吭し
たり、I尖を佩って、Y惚を
卦してあげる
Web API とは
たとえば´

Google Maps API を聞って、?
卞咯琺x/rgを柵び竃す
はてなブックマ`ク周方函誼API を聞って、?
はてブ方を函誼する
Amazon Product Advertising API を聞って、?
斌瞳秤鵑鯣ゝ辰垢
Web API とは
聞ってみる

TechBuzz Space から 仟凡k までの?
ル`ト碧 ?
http://bit.ly/zeross-sample
Google 碧で 仝サ`バ`サイド々の?
サジェスト函誼?
http://bit.ly/zeross-sample2
どんな API があるのか、どういうふうに聞うのかは
しっかりドキュメントをiみましょう
TechBuzz Space から 仟凡k までの

Google 碧で 仝サ`バ`サイド々の?

ル`ト碧

サジェスト函誼
OAuth
(お` お`す)
OAuth の聞い祇
Web API を聞う慙泙鰌J辛

OAuth にはログインC嬬はない
ユ`ザ`は仝Resource Owner々
OAuth を聞った API を戻工しているサ`ビスは?
仝OAuth Server々
OAuth Server の API を旋喘するサ`ビスは?
仝OAuth Client々

OAuth Server のリソ`スを聞うためのJ辛
OAuth の送れ
Twitter を聞う栽の箭
OAuth の送れ
Twitter を聞う栽の箭
?

フロ`_兵
?

?

OAuth Client

?

J辛レスポンス

仝Twitter でログインする々

?

OAuth Client から OAuth Server
へリダイレクト

?

OAuth Server
?

仝$$があなたのアカウントを
旋喘することをS辛しますか
?

仝B亊アプリをJ^々

?

リダイレクト URL にアクセス
慙涕錦襪離肌`クンを根む

アクセスト`クンとの住Q
?

アクセス慙泙慮錦
?

OAuth Server から OAuth Client
へリダイレクト
?

J辛のリクエスト
?

?

?

OAuth Client は、函誼したト`ク
ンを Access Token と住Q

參瘁、API へアクセスできる
?

アクセスト`クンが豚淒个 また
は o浸されるまで
OAuth J^
仝Twitter でログインする々

仝OAuth 聞って Twitter/Facebook の?
アカウントでログインできるようにしよう 
OAuth にはログインC嬬はない

磯蛍屎盾、磯蛍g`い
なぜ心陲┐瘁ほど。
OpenID
(お`ぷん あいでぃ`)
OpenID とは
BASIC J^の紋わり

ユ`ザ`嶄伉の蛍柊 ID J^システム
ブラウザベ`スのJ^
OpenID を聞ってログインしようとする
OpenID 鬉離廛蹈丱ぅ制`はエンドユ`ザ`を?
J^する
そのY惚、‐URL/を ID として卦す
OpenID とは
Yahoo! JAPAN の OpenID を聞ってみる

仝Yahoo! Japan IDやパスワ`ドはOpenID鬋汽ぅ箸砲亘熔鼎気譴泙擦鵝

?

J^だけしてもしょうがない´

?

API の旋喘やモバイルには音宴

?

耕な圧催晒をサポ`トしない
OpenID と OAuth の
`い
OpenID と OAuth の`い
J^ と J辛

J^: Authentication

(お`せんてぃけ`しょん)

ID が屎しくそのユ`ザ`のものか
J辛: Authorize

(お`そらいず)

ID の聞うサ`ビスにm俳な慙泙鮓錦
OpenID と OAuth の`い
ひらたくいうと

OpenID
ユ`ザ`のJ^秤鵑鬚笋蠅箸
OAuth
OAuth Server の API へアクセスをgF
OAuth は J^のやり圭をQめていない
OAuth J^
仝Twitter でログインする々

仝OAuth 聞って Twitter/Facebook の?
アカウントでログインできるようにしよう 
OAuth にはログインC嬬はない

磯蛍屎盾、磯蛍g`い
なぜ
OAuth J^
仝磯蛍屎盾、磯蛍g`い々

OAuth は API へのアクセス慙泙鮓錦襪垢襪發里如?
云繁J^のC嬬を隔っていない
仝ソ`シャルログイン々のg廾として、API のアクセス?
慙泙犯ゝ辰靴弔張罘`ザ`アカウントとして聞ってしまおう
仝ツイ`トiみzむ慙泙鯣ゝ辰靴覆い函
仝フォロワ`している繁をiみzむ慙泙鯣ゝ辰靴覆い函

噫な慙泙鰉襪┐/もらうっていうのは?
セキュアじゃないよね
OpenID Connect
(お`ぷん あいでぃ` こねくと)
OpenID Connect
ひらたくいうと

OAuth をベ`スに OpenID をgFする
ソ`シャルアカウントで‐J^/を?
セキュアにできる
もちろんネイティブアプリでも聞える
OpenID Connect
鬋稀`ビス

などなど
OpenID Connect
OpenID ではできなかったことが

鬋稀`ビスにひも原くユ`ザ`秤鵑眸,螻す
箆兆、ふりがな
メ`ルアドレス
廖侭など´
サ`ビス箸戻工するもの

氏T鞠hフォ`ムを恬らなくて措くなる隆栖
Ajax とか
(えいじゃっくす とか)
Ajax とか
Ajax はもう酢れてる

Ajax で掲揖豚宥佚!!
掲揖豚宥佚って
鮫中w卞せずに GET/POST できる
みんな寄挫き jQuery でgにg廾できる
でも}も
サ`バ`からクライアントへの宥佚ができない
Ajax とか
Ajax のかわり

Comet で掲揖豚宥佚!!
Ajax とどう`う
サ`バ`からクライアントへの宥佚 (Push) ができる
はやらなかった
Ajax とか
Ajax/Comet の}泣

サ`バ`とのコネクションが
Ajax は}方聞うのでリソ`ス聞いまくり
Comet はコネクションりっぱなし
サ`バ`への塞が寄きい
HTTP 1.1 宥佚の碧Mみなので、サ`バ`サイド/クライ
アントサイドでどうにかするのは仝弌返枠々の
Ajax とか
Ajax/Comet のかわり

WebSocket
Ajax とか
WebSocket とは

Comet のようなリアルタイム宥佚
Lrg俊Aが念戻
俊A嶄は、
クライアントからサ`バ`の宥佚
サ`バ`からクライアントの宥佚
俊Aは 1 指 で採指でも僕鞭佚辛嬬
恷兜は HTTP を聞い俊Aを_羨、その瘁 WebSocket
ws://example.com/hoge
サ`バ`にやさしい
Ajax とか
WebSocket を聞う

ブラウザの鮉r
クライアント箸蓮?
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 (勣O協)?
でg廾されている。
竃灸 http://ja.wikipedia.org/wiki/WebSocket#.E5.AE.9F.E8.A3.85.E7.8A.B6.E6.B3.81
Ajax とか
WebSocket を聞う

サ`バ`箸g廾
光冱Z で WebSocket のライブラリが巷_されている
謹蛍嗤兆なのは´
Node.js
Socket.IO http://socket.io/
歌深Y創
SOAPWSDLRESTDDWeb APIの児A室gを僥ぶ
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が駅勣となったのか、そのs雰議嘘尚
http://www.slideshare.net/tkudo/openid-connect-devlove
掲室g宀のためのOAuthJ^(?)とOpenIDの`い秘T
http://www.sakimura.org/2011/05/1087/
gなる OAuth 2.0 をJ^に聞うと、が宥れるほどのどでかいセキュリティ`?ホ`ルができる
http://www.sakimura.org/2012/02/1487/
SPAをgFするために駅勣な宥佚室g
http://www.slideshare.net/yusukenaka52/spa-30482031
褒圭鰺佚をgF WebSocketを聞いこなそう
http://www.atmarkit.co.jp/ait/articles/1111/11/news135.html
WebSocket - Wikipedia
http://ja.wikipedia.org/wiki/WebSocket

More Related Content

セ?ロからはし?めるサ`ハ?`サイト? Vol2