Enviar búsqueda
Cargar
Web技術勉強会 第18回
•
3 recomendaciones
•
1,844 vistas
龍一 田中
Seguir
WebAPIにAPIキー認証を実装する方法
Leer menos
Leer más
Tecnología
Denunciar
Compartir
Denunciar
Compartir
1 de 11
Descargar ahora
Descargar para leer sin conexión
Recomendados
Web技術勉強会10回目(Slideshare用)
Web技術勉強会10回目(Slideshare用)
龍一 田中
Bado2 Sa 026
Bado2 Sa 026
HungYu Su
クロスレビュー
クロスレビュー
武 河野
変わる時代、変わらぬ思い
変わる時代、変わらぬ思い
Hiromu Shioya
Web技術勉強会9回目2(Slideshare用)
Web技術勉強会9回目2(Slideshare用)
龍一 田中
WebアプリケーションフレームワークMojoの紹介
WebアプリケーションフレームワークMojoの紹介
Yuki Kimoto
Silent Running Side A
Silent Running Side A
Shunsaku Kudo
What is PHP Frameworks?
What is PHP Frameworks?
Masaki Komagata
Recomendados
Web技術勉強会10回目(Slideshare用)
Web技術勉強会10回目(Slideshare用)
龍一 田中
Bado2 Sa 026
Bado2 Sa 026
HungYu Su
クロスレビュー
クロスレビュー
武 河野
変わる時代、変わらぬ思い
変わる時代、変わらぬ思い
Hiromu Shioya
Web技術勉強会9回目2(Slideshare用)
Web技術勉強会9回目2(Slideshare用)
龍一 田中
WebアプリケーションフレームワークMojoの紹介
WebアプリケーションフレームワークMojoの紹介
Yuki Kimoto
Silent Running Side A
Silent Running Side A
Shunsaku Kudo
What is PHP Frameworks?
What is PHP Frameworks?
Masaki Komagata
WebDAV as Web API
WebDAV as Web API
Masaki Komagata
RDF and FOAF
RDF and FOAF
Masaki Komagata
生態学におけるFOSS4G利用の最前線 ~開催趣旨説明~
生態学におけるFOSS4G利用の最前線 ~開催趣旨説明~
IWASAKI NOBUSUKE
Visio Webマーケティングの基本
Visio Webマーケティングの基本
nekosuke
20080706_ecogeek_lt
20080706_ecogeek_lt
id774
Palanju
Palanju
Frank Chang
HCCソフト会社紹介
HCCソフト会社紹介
ssusercbaf23
モバイルでIRCを活用する with EbIRC
モバイルでIRCを活用する with EbIRC
Shin Ise
Digital contents -midterm-
Digital contents -midterm-
jeong son
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
Yuichi Tanaka
웹20시대의정보검색과전략(Keris)
웹20시대의정보검색과전략(Keris)
POSTECH Library
CSNagoya コンパイラを作ろう
CSNagoya コンパイラを作ろう
toyoshi
Ohp Seijoen H20 08 Jfreechart
Ohp Seijoen H20 08 Jfreechart
sesejun
第1回Fレックス研究会PDF版
第1回Fレックス研究会PDF版
Yoichi Tanaka
Blog and non-for -profit
Blog and non-for -profit
Frontier Foundation
okyuu.com x Rails x OpenID
okyuu.com x Rails x OpenID
Fumikazu FUJIWARA
Howtousenetboss
Howtousenetboss
kumee
6 самых простых шагов
6 самых простых шагов
NastenaSalm
山行記録共有データベース「ヤマレコ」
山行記録共有データベース「ヤマレコ」
Kazumine Matoba
CAPとBASEとEventually Consistent
CAPとBASEとEventually Consistent
Yohei Yamamoto
WebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をする
龍一 田中
Web技術勉強会 20130525 - Google Cloud Messaging入門
Web技術勉強会 20130525 - Google Cloud Messaging入門
龍一 田中
Más contenido relacionado
La actualidad más candente
WebDAV as Web API
WebDAV as Web API
Masaki Komagata
RDF and FOAF
RDF and FOAF
Masaki Komagata
生態学におけるFOSS4G利用の最前線 ~開催趣旨説明~
生態学におけるFOSS4G利用の最前線 ~開催趣旨説明~
IWASAKI NOBUSUKE
Visio Webマーケティングの基本
Visio Webマーケティングの基本
nekosuke
20080706_ecogeek_lt
20080706_ecogeek_lt
id774
Palanju
Palanju
Frank Chang
HCCソフト会社紹介
HCCソフト会社紹介
ssusercbaf23
モバイルでIRCを活用する with EbIRC
モバイルでIRCを活用する with EbIRC
Shin Ise
Digital contents -midterm-
Digital contents -midterm-
jeong son
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
Yuichi Tanaka
웹20시대의정보검색과전략(Keris)
웹20시대의정보검색과전략(Keris)
POSTECH Library
CSNagoya コンパイラを作ろう
CSNagoya コンパイラを作ろう
toyoshi
Ohp Seijoen H20 08 Jfreechart
Ohp Seijoen H20 08 Jfreechart
sesejun
第1回Fレックス研究会PDF版
第1回Fレックス研究会PDF版
Yoichi Tanaka
Blog and non-for -profit
Blog and non-for -profit
Frontier Foundation
okyuu.com x Rails x OpenID
okyuu.com x Rails x OpenID
Fumikazu FUJIWARA
Howtousenetboss
Howtousenetboss
kumee
6 самых простых шагов
6 самых простых шагов
NastenaSalm
山行記録共有データベース「ヤマレコ」
山行記録共有データベース「ヤマレコ」
Kazumine Matoba
CAPとBASEとEventually Consistent
CAPとBASEとEventually Consistent
Yohei Yamamoto
La actualidad más candente
(20)
WebDAV as Web API
WebDAV as Web API
RDF and FOAF
RDF and FOAF
生態学におけるFOSS4G利用の最前線 ~開催趣旨説明~
生態学におけるFOSS4G利用の最前線 ~開催趣旨説明~
Visio Webマーケティングの基本
Visio Webマーケティングの基本
20080706_ecogeek_lt
20080706_ecogeek_lt
Palanju
Palanju
HCCソフト会社紹介
HCCソフト会社紹介
モバイルでIRCを活用する with EbIRC
モバイルでIRCを活用する with EbIRC
Digital contents -midterm-
Digital contents -midterm-
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
[12_B_6] PHP/MySQL を用いた大規模向けパッケージソフトウェア開発
웹20시대의정보검색과전략(Keris)
웹20시대의정보검색과전략(Keris)
CSNagoya コンパイラを作ろう
CSNagoya コンパイラを作ろう
Ohp Seijoen H20 08 Jfreechart
Ohp Seijoen H20 08 Jfreechart
第1回Fレックス研究会PDF版
第1回Fレックス研究会PDF版
Blog and non-for -profit
Blog and non-for -profit
okyuu.com x Rails x OpenID
okyuu.com x Rails x OpenID
Howtousenetboss
Howtousenetboss
6 самых простых шагов
6 самых простых шагов
山行記録共有データベース「ヤマレコ」
山行記録共有データベース「ヤマレコ」
CAPとBASEとEventually Consistent
CAPとBASEとEventually Consistent
Más de 龍一 田中
WebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をする
龍一 田中
Web技術勉強会 20130525 - Google Cloud Messaging入門
Web技術勉強会 20130525 - Google Cloud Messaging入門
龍一 田中
Web技術勉強会 20120728
Web技術勉強会 20120728
龍一 田中
Web技術勉強会 20120609
Web技術勉強会 20120609
龍一 田中
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
龍一 田中
Web技術勉強会 20111112
Web技術勉強会 20111112
龍一 田中
Web技術勉強会 20110723
Web技術勉強会 20110723
龍一 田中
Web技術勉強会 20110611
Web技術勉強会 20110611
龍一 田中
Web技術勉強会 20110528
Web技術勉強会 20110528
龍一 田中
Web技術勉強会 20110514
Web技術勉強会 20110514
龍一 田中
Web技術勉強会 20100925
Web技術勉強会 20100925
龍一 田中
Web技術勉強会 20100424
Web技術勉強会 20100424
龍一 田中
Web技術勉強会 第38回
Web技術勉強会 第38回
龍一 田中
Web技術勉強会 第37回
Web技術勉強会 第37回
龍一 田中
Web技術勉強会 第34回
Web技術勉強会 第34回
龍一 田中
Web技術勉強会 第33回
Web技術勉強会 第33回
龍一 田中
Web技術勉強会 第31回
Web技術勉強会 第31回
龍一 田中
Web技術勉強会 第30回
Web技術勉強会 第30回
龍一 田中
Web技術勉強会 第29回
Web技術勉強会 第29回
龍一 田中
Web技術勉強会 第28回
Web技術勉強会 第28回
龍一 田中
Más de 龍一 田中
(20)
WebSocketでリアルタイム処理をする
WebSocketでリアルタイム処理をする
Web技術勉強会 20130525 - Google Cloud Messaging入門
Web技術勉強会 20130525 - Google Cloud Messaging入門
Web技術勉強会 20120728
Web技術勉強会 20120728
Web技術勉強会 20120609
Web技術勉強会 20120609
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
Web技術勉強会 20120114 - JenkinsでJava/PHP/Ruby/JavaScriptをビルドする
Web技術勉強会 20111112
Web技術勉強会 20111112
Web技術勉強会 20110723
Web技術勉強会 20110723
Web技術勉強会 20110611
Web技術勉強会 20110611
Web技術勉強会 20110528
Web技術勉強会 20110528
Web技術勉強会 20110514
Web技術勉強会 20110514
Web技術勉強会 20100925
Web技術勉強会 20100925
Web技術勉強会 20100424
Web技術勉強会 20100424
Web技術勉強会 第38回
Web技術勉強会 第38回
Web技術勉強会 第37回
Web技術勉強会 第37回
Web技術勉強会 第34回
Web技術勉強会 第34回
Web技術勉強会 第33回
Web技術勉強会 第33回
Web技術勉強会 第31回
Web技術勉強会 第31回
Web技術勉強会 第30回
Web技術勉強会 第30回
Web技術勉強会 第29回
Web技術勉強会 第29回
Web技術勉強会 第28回
Web技術勉強会 第28回
Web技術勉強会 第18回
1.
Web技術勉強会 第18回
~WebAPI認証の実装~ 2009/03/21 Ryuichi Tanaka http://blog.livedoor.jp/mapserver2007/ 1
2.
WebAPIとは WebAPIとは? REST(GET,POST)形式で提供されるのが一般的 レスポンスはXML、JSON/JSONP、Javascriptコード、
画像を返すなどさまざま ى今回はJSON/JSONPベース WebAPIを実装しよう ى今回の話はWebAPIがすでに作れるor作ったが前提 2
3.
認証をしよう WebAPIには認証がかかっているタイプがある ex: Yahoo!、楽天、Amazon、Google
etc. 自作したWebAPIをセキュアにしよう もろにアクセスされるのはちょっと嫌 どのような仕様が一般的? 「APIキー」を作って認証がほとんど 3
4.
認証の仕様 APIキーを作る SHA2(Secure Hash
Algorithm)を利用 ىMD5、SHA1よりSHA2(SHA-224、SHA-256、SHA-384、 SHA-512)のほうがよりセキュア ىどんな文字列からでも固定長のハッシュを生成 Perl実装のDigest::SHAを利用 ى自作WebAPIはPerlなので。 ىPHPではSHA2関数はない(mhashを使うといける) 4
5.
認証の仕様 リファラを見る リファラを使って、使用を許可するページを制限
ى今回の仕様では、ドメイン単位で許可 タイムスタンプを使う リファラ+タイムスタンプでSHA2ハッシュを作る ىリファラとハッシュが一致したときに認証が成功とみなす ىリファラが仮に偽装された場合でも、ハッシュ値が分からない 限りアクセスはできない 5
6.
実装
APIキー認証を実装 API レスポンス 認証OK ・APIを許可するURL 認証 ・タイムスタンプ リクエスト 認証処理 認証NG APIキー登録画面 API APIを適用するページ キー認証 DB 6
7.
実装 APIキー登録処理はPHPで実装 diarysys4の管理画面に組み込み ApiKeyクラスの実装、テンプレートファイルの作成を新規作成、
入力データのバリデーションはCommonクラスの処理のそのまま 継承 APIキー認証処理はPerlで実装 どのプロジェクトに属するAPIでも認証がかけられるようにするよ うにモジュールを配置(FindBin::libs) リクエストパラメータに「apikey」属性を追加 リファラはCGIのreferer()で取得 7
8.
サンプル http://team2.de.c.dendai.ac.jp/study/20090321/apiauth.html
認証失敗時 認証成功時 8
9.
登録画面
9
10.
Todo(★は優先度) ★★Diarysys4関連(進捗95%、データ移行中) Widgetリファクタリング WidgetのAPIキー認証対応
iGoogleウィジェット対応?(公開する予定なし) WidgetのShindig化 ★TMAP関連(進捗99%) バグフィックス(いくつかバグを確認) ★★★ChocoLab関連(進捗1%) Ruby on Railsで構築予定 開発環境・サーバ環境構築(RadRails設定完了) 10
11.
Todo(★は優先度) ★インフラ関連(進捗80%) UTF-8移行プロジェクト(完了) Trac導入(未定)
Subversionコミットメール(未定) Toritton(未定) ★★ドキュメント作成(進捗90%) 自宅サーバセットアップマニュアル(1版完成) 開発環境セットアップマニュアル(未定) はてなグループ更新 ★ 障害対応(随時) 11
Descargar ahora