Prepared for 情報セキュリティワークショップ in 越後湯沢 2017 http://anisec.jp/yuzawa/?page_id=491Read less
FuelPHPでfacebookログインを実装したい 調査結果 Opauthを利用するのが良さそう ここ( https://github.com/andreoav/fuel-opauth )からFuelPHP用のパッケージを利用できそう Opauthは, PHPでOauthログインをするためのフレームワークです(ざっくり) 使ってみた とても丁寧にREADMEが書かれており, 簡単に実装できた(見習いたい) しかし , メールアドレスが取得できない... メールアドレス取得できない原因 随分更新されていないようで, 最近の(?)facebook SDK のアップデートによってデフォルトでは取得できなくなっているらしい その他の項目もパーミッションが必要になっているものがたくさんありました 参考( https://developers.facebook.com/docs/facebook-l
CodeIgniterにOAuth2のサービスプロバイダーとクライアントを実装する。 コードはこちらで公開しています。(データベースの設定、oauth2-server-phpのインストールと修正が必要) 凡例 ドメイン example.jp ドキュメントルートパス $HTDOC_DIR サービスプロバイダー用ライブラリ bshaffer/oauth2-server-php · GitHub クライアント用ライブラリ(CodeIgniter Sparks) philsturgeon/codeigniter-oauth2 · GitHub サービスプロバイダー側 http://example.jp/oauth2/ http://example.jp/api/ クライアント側 http://example.jp/client/ OAuthの情報を保存するためにMySQLを使用する サービスプロバ
落ち葉拾い的な? SSDの肥やしになっていたのをサルベージしてきました。 FuelPHP を使っている中で気がついたことのメモです。 Orm\Model_Temporal を使うときの注意点Orm パッケージの Model_Temporal という、データを履歴管理するのに便利そうなモデルが FuelPHP 1.6 以降で実装されています。 このモデルを使っているときにちょっと気がついたことがあるのでメモしておきます。 とりあえず、モデルは次のような感じで用意します。 mysql_timestamp に true と指定しているのが Temporal Model - Orm Package - FuelPHP Documentation の例と違うところですが、 false でも同じ問題が起きます。 要確認 // app/classes/model/mytemporal.php class
OAuth2.0ってなんだっけ?を自分なりにまとめてみました。 Slideshare はこちら http://www.slideshare.net/ph1ph2sa25/oauth20-46144252
前回の準備編に続き、実践編です。 ユーザー認証 Authを学ぶ - Opauth編 (準備) - きまブログ 普通「Twitterでログイン」というと、 Twitterで認証がとれれば、そのサービスが使える (正確には、そのサービスにデータを使わせてあげる) イメージですが、FuelPHP公式サイトで提示されているサンプル (Opauth Controller example - Auth Package - FuelPHP Documentation)は、それだけではなく、 ローカルアカウントとTwitterアカウントを紐付けすることで、認証完了。 というスタンスみたい。 このサンプルの正攻法(正常系)のステップは、 ・(前回作ったサンプルで)ローカルアカウントを登録する。 ・(前回作ったサンプルで)ローカルアカウントでログインする。 ・(今回追加したサンプルで)Twitterでログイン
2015/01/08追記 ココカラ--> 本エントリ内で紹介している src/Module/OAuth/Twitter{Module|Provider}.php は外部モジュールとして切り出し、 ray/oauth-module として公開しています。 <--ココマデ つい昨日(2014/12/22)、BEAR.Sunday v1.0.0-alpha がリリースされました! 最初に 今ちょうどプライベートでBEAR.Sundayを使ったサービス開発を進めていて、TwitterへのOAuthという大きめの実装に着手しようとしていたので、この機会にAdventCalendarのエントリとして実装例を紹介します。 BEAR.Sunday と PHPoAuthLib BEAR.Sunday リソース指向のPHPフレームワーク DIとAOPをサポート BEAR.Package、BEAR.Resour
これは、いわゆる「Twitterでログイン」っていうヤツで、 OAuth2という認証技術を使っています。 今回は、日頃使っているTwitterで試してみます。 ここでは、事あるごとに「Twitter」って書いてますが、ただの例です。。 流れは、こんな感じ 1. Simpleauth もしくは Ormauth を利用可能にしておく。 ユーザー認証 Authを学ぶ - Simpleauth編 - きまブログ ユーザー認証 Authを学ぶ - Ormauth編 - きまブログ 2. PHPのパッケージ管理ツール comporser で、opauthをインストール 3. コントローラーを記述 4. Twitterにアプリ登録をする。 OAuth2 とは? 簡単に説明しておくと、 Twitterユーザーが自分のパスワードをWebアプリに渡さずに、 WebアプリでTwitterのデータを使ってもいい許
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
http://fuelphp.jp/docs/1.7/packages/auth/opauth/intro.html authに加えてormパッケージを有効にします。 // fuel/app/config/config.php"] 'always_load' => array( 'packages' => array( 'auth', 'orm', ), ), Authパッケージ用のテーブルをデータベースに反映しておきます。 $ oil refine migrate --packages=auth Opauth を使うためには、まずComposerでライブラリーをインストールします。 今回はGoogleログインを試したいので、composer.jsonにopauth/opauthとopauth/googleを追加します。 # composer.json "require": { "php"
OAuth 2.0 では state パラメータってのがあって、それをちゃんと使わないと CSRF 脆弱性ができちゃうよって話は、@ritou 先生のスライドなどでみなさん勉強したんではないでしょうか。state パラメータは RFC 6749 では RECOMMENDED 扱いで、REQUIRED ではありませんが、OAuth 2.0 をログインに使う場合は REQUIRED にすべきでしょう。OAuth 2.0 をログインに使うの、Token 置換攻撃とか Covert Redirect + Code 置換攻撃とか、いろんな罠がありますねぇ〜。 OAuth 1.0 ならそんなことないのに… そう思ってた時期が、僕にもありました。 でも @ritou 先生よく言ってるじゃないですか。「Twitter の OAuth 実装クソや」って。でね、ほんとにクソやったんすよ、コレが。 さて、Dev
こんばんはこんばんは!!、ritouです。 木曜に公開されたこの記事を見て実際に試してみた/使ってみたってエントリ、たぶん誰も書いてくれないので自分で書きます。 OAuthのセキュリティ強化を目的とする拡張仕様を導入しました - mixi engineer blog とりあえず上記の記事を読んで、最後の方のシーケンス図を覚えといてください。 では動作確認を始めましょう。 手順0 : サービスを登録してclient_id, client_secretの取得 もしかして、mixi Platformの挙動だけ確かめたい人にとってはここがハードル高いのか。まぁしょうがないです。 開発者登録している人はこちらからサービスを登録できますね。 https://sap.mixi.jp/connect_consumer.pl 例として、とりあえずこんな感じで登録してみます。 client_id : 4f75
追記 (5/7 20:30): 本文中に「まともなブラウザーであれば、そのフラグメントを URI の一部にするようなことはないから、オープン・リダイレクターには送られない。」とありますが、少なくとも Chrome と Firefox はリダイレクト時に URI フラグメントをそのまま保つ (i.e. 不十分な redirect_uri チェック & オープン・リダイレクター & インプリシット・フローの場合、アクセス・トークン入りの URI フラグメントを、ブラウザーがそのままリダイレクト先へのリクエストに用いる) とのことです。続報があり次第追記します。 追記2 (5/7 23:50): John Bradley 氏自身によるフォローアップを訳しました。 Covert Redirect and its real impact on OAuth and OpenID Connect を、と
現在opauthに付属しているtwitterへの接続機能はAPI1.0を採用しているために使用することができません。 fuel/packages/opauth/classes/Strategy/TwitterStrategy.phpの verify_credentials_json_url' => 'https://api.twitter.com/1/account/verify_credentials.json', を 'verify_credentials_json_url' => 'https://api.twitter.com/1.1/account/verify_credentials.json', に変更することで動作するようになりました
FuelPHPでopauthを使って色んなログインに対応してみました。 ログインのパターンは 1.通常のusernameとpasswordのログイン 2.Twitterのoauthログイン 3.Facebookのoauthログイン です。 TwitterとFacebookのログインについてはfuel-opauthを使っていますが、こちらの参考ブログ記事にも記載されている通りnamespaceの設定に不具合があるためgithubでforkしたものをsubmodule化しています。 本家 https://github.com/andreoav/fuel-opauth本家 修正版 https://github.com/letsspeak/fuel-opauth 今回作成したり変更したファイルは一通りgistにもアップロードしています。 不具合はいつも通り触りながら修正していこうかと思っていますが
おはようございます、ritouです。 今回は、一部で先週話題なりましたOAuth 2.0のImplicit Flowについてのエントリになります。 (2012/2/7 いろいろと修正しました。) 単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる | @_Nat Zone Thread Safe: The problem with OAuth for Authentication. 今回は以下の内容について整理したいと思います。 OAuth 2.0のどの機能にセキュリティホールがあるのか 誰が攻撃者になれるのか 対策 OAuth 2.0 Implicit Flowとは OAuth 2.0ではサードパーティーアプリケーションが保護リソースへのアクセス権限を得るためのいくつかのフローが定義されています。 (仕様中ではFlowやGrant Type
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く