OpenID

0pt

ID入れるだけで認証済むもやと勘違いしてた。そなことのような話あるはずないのに…。実際はIdentity Providerに認証を委譲する形。IDをURIで表すことや、仕様がオープンになってるので認証プロバイダが分散することが特徴。

仕組み

1. サービスを行うサイト(Consumer)はOpenIDからHTMLを取得する
 Site fetches the HTML of my OpenID
2. そこから opneid.serverを探す→認証プロバイダ(Identity Provider
 Finds "openid.server"
3. サイトは認証プロバイダと秘密のやりとりする
 Establishes a shared secret with the Provider
4. ユーザのブラウザを認証プロバイダにリダイレクトしてログインさせる
 Redirects my browser to the Provider where I authenticate and allow the OpenID login
5. サービスサイトに結果を返してリダイレクトする
 Provider redirects my browser back to the site with an OpenID response
6. サービスサイトは、ユーザをログイン
 Site verifies the signature and logs me in

で公開してるOpenIDサーバー

準備

OpenIDのURIには決められたlink要素を記述したHTMLを用意する。

例えばライブドア(自分のOpenID)のにはこの記述がある。

<link rel="openid.server" href="http://auth.livedoor.com/openid/server" />


もしこれを独自のURIにしようと思ったらそこに以下のを記述しとけばいい(はず)

<link rel="openid.server" href="http://auth.livedoor.com/openid/server" />
<link rel="openid.delegate" href="http://profile.livedoor.com/akkun_choi/" />


その他

  • 認証プロバイダが信頼できるかどうか。


参考

フィッシング問題

http://marcoslot.net/apps/openid/

  • 不正なサービスが認証プロバイダにリダイレクトせずにフィッシングページに移動させてあらあら
  • 不正なサービスが認証プロバイダが出力するログインフォームを取得して、フォームの送信先をJSとかで書き換えてあらあら
  • OpenID入力フォームにパスワード入力項目もつけてあらあら(確かに今までのログインに慣れてたらやっちゃう人もいそう)

Consumerの実装

http://www.plaxo.com/api/openid_recipe

OpenID2.0

http://openid.net/specs/openid-authentication-2_0.html
http://www.atmarkit.co.jp/fsecurity/rensai/openid05/openid01...

「OpenID」について友人に書いてもらう。

あなたにとって「OpenID」とは?

ログインするとワンクリックでキーワードを投稿できます

ログインする 新規登録する

お気に入りの説明

1 pt
外部のサイトの認証情報を使い、ユーザー認証を行うための仕組み。
もっと読む
0 pt
数多あるサービスを同一アカウントで使うための仕組み http://www.openid.ne.jp/ サービス側はすでに存在するユーザー層に簡単にリーチでき、 利用者側は煩わしいアカウント管理から解放されるとい...
もっと読む
0 pt
OpenID.ne.jp - OpenIDを使って10000サイト以上にたった1つのIDで入れます。あなたもOpenIDを作成しませんか? URLパラメータが長いのでモバイル不可 → Yahoo!のOAuthならOK 仕様書 Op...
もっと読む

他の人の「OpenID」を見る