ホーム > Web技術 > Yahoo! JAPANがOpenIDを発行

Yahoo! JAPANがOpenIDを発行

2008 年 1 月 31 日 コメントをどうぞ コメント

CNET Japanの記事から

ヤフーは1月30日、オープンな認証規格「OpenID」の発行サービスをベータ版として開始した。OpenIDを利用すれば外部サイトでもYahoo! JAPAN IDが利用できるようになると同時に、ウェブサービスの開発者はヤフーが抱える2000万ID以上のアクティブユーザーに向けたサービスの開発が可能となる。

予想より早く開始しましたね。 YahooのOpenIDはセキュリティに配慮しているほか、既存OpenIDプロバイダと違う点も見られます。

  1. OpenID 2.0仕様
  2. ログインに使用するID
  3. YahooJAPAN IDの隠蔽

OpenID対応サイトでログインする際は、「yahoo.co.jp」と 入力するだけでよく、YahooサイトでYahooのIDとパスワードを入力して認証します。 OpenID対応サイトには、「https://me.yahoo.co.jp/a/tsEJe4MCcbXZyYq0VzUTfWemVtG0」のような、YahooのIDを含まないOpenIDが通知される仕組みです。

ということで早速ログインを試みたところ、「このサイトにログインできません。」というエラーが表示されました。 どうもリダイレクト時にreturn_to?のホスト確認をしているらしく、 「localhost」などのテスト環境は弾かれます。 正式なドメインからアクセスすると成功しました。

以下はYahooから返信される情報を一部抜粋したものです。

array (
  'openid_ns' => 'http://specs.openid.net/auth/2.0',
  'openid_mode' => 'id_res',
  'openid_return_to' => 'http://www.softama.com/openid_test/result.php?janrain_nonce=2008-01-31T02%3A31%3A04ZrWi9Zr',
  'openid_claimed_id' => 'https://me.yahoo.co.jp/a/tsEJe4MCcbXZyYq0VzUTfWemVtG0#6c56c',
  'openid_identity' => 'https://me.yahoo.co.jp/a/tsEJe4MCcbXZyYq0VzUTfWemVtG0',
  'openid_assoc_handle' => 'YPKehsnKyC3deS46Zt4oZQqrkYd3CWVx5b6vGbLq24Nc.lJ0mpXD3D3GOhCURjzvb3VRkIkJgCeqQBUPpht25UJDfslk6QNg4Q0F5qIuCOI04zPYG_BXskrS9aHgmkTYkQ--',
  'openid_realm' => 'http://www.softama.com/openid_test/',
  'openid_response_nonce' => '2008-01-31T02:31:36Z4vQ0bDrKtR9L4I52M10eFeQceUophyRhaQ--',
  'openid_signed' => 'assoc_handle,claimed_id,identity,mode,ns,op_endpoint,response_nonce,return_to,signed',
  'openid_op_endpoint' => 'https://open.login.yahooapis.jp/openid/op/auth',
  'openid_sig' => 'N6a5hPDj4L36B5jrEgMoZG4luiE=',
)

identityはYahooの登録情報ページから参照できるOpenIDと同じです。 ところが、claimed_idには#6c56cのような末尾が付いていました。(#以降がころころ変わるようなら問題ですが、多分大丈夫でしょう。 少し様子を見るつもりです。)

追記: Discover時に取得できるXRDSドキュメントを載せておきます。

<?xml version="1.0" encoding="UTF-8"?>
<xrds:XRDS
    xmlns:xrds="xri://$xrds"
    xmlns:openid="http://openid.net/xmlns/1.0"
    xmlns="xri://$xrd*($v*2.0)">
  <XRD>
    <Service priority="0">
      <Type>http://specs.openid.net/auth/2.0/server</Type>
      <URI>https://open.login.yahooapis.jp/openid/op/auth</URI>
    </Service>
  </XRD>
</xrds:XRDS>

この時点ではclaimed_idが判明していません。 従って、リダイレクト時に要求するclaimed_idとidentityには「http://specs.openid.net/auth/2.0/identifier_select」 を設定しています。

Yahooのような多くのユーザを抱えるサイトがOpenIDを発行することで、これからOpenIDに対応するサイトが増えていくことでしょう。 今後もOpenIDの動向に注目したいと思います。

カテゴリー: Web技術
  1. コメントはまだありません。
  1. トラックバックはまだありません。

スパム投稿ではないことを確認するため、計算式の答えを半角数字で入力してください。 * Time limit is exhausted. Please reload the CAPTCHA.