ログイン
IDでもっと便利に[ 新規取得 ]

OpenID

よくある質問

簡単な用語説明

OpenID 2.0では、下記のように用語を定義しています。

用語 説明
OpenID Provider(OP) OpenIDを発行するプロバイダ(例:Yahoo! JAPAN)
Relying Party(RP) OpenIDによる認証を受け入れるウェブサイト(例:お客様のウェブサイト)
End User OpenIDの利用者(例:Yahoo! JAPAN IDでOpenIDのしくみを使う利用者)
OP Endpoint URL OpenID Provider側のエンドポイント
Identifier OpenIDによる認証で利用される識別子。URIとXRIのどちらでも利用できる
OP Identifier OpenID Providerの識別子

OpenID 2.0ではどのような点が変わったのでしょうか?

OpenID 2.0はOpenID 1.1に比較して、いくつかのセキュリティ上の改善と利便性向上が図られています。

discoveryの仕様

OpenID 2.0のOP Endpoint URLはYadisプロトコル(外部リンク)に従って公開されています。

OpenID 2.0に対応したOPは、Yadisでサポートしているバージョンとその拡張仕様と同じ方法でOP Endpoint URLの場所を明示します。OPはRPのOP Endpoint URLにYadisを利用してdiscoveryを行えます。

Yahoo! JAPANはRPのrealmとOP Endpoint URLを確認するために"openid.realm"で指定されたrealmに対してdiscoveryを行います。

OpenID識別子生成のしくみ

OpenID 2.0の仕様ではOPはURLのフラグメントをOpenID URLの末尾に付け加えて、Identifierを生成するしくみになっています。そのOpenID識別子を用いることで、RPはEnd Userを識別できます。
下記の例のように、OpenID URLに#以降のフラグメントを付加することでOpenID識別子が作成されます。
https://me.yahoo.co.jp/xxxxxxxx#aa
https://me.yahoo.co.jp/xxxxxxxx#bb

セキュリティポリシー

Yahoo! JAPANではHTTP(ポート番号80)、HTTPS(ポート番号443)上で実際のホスト名を使用しているRPをサポートしています。IPアドレスを利用しているRPは現在サポートしていません。

OP Identifierでログインできるようになりました

OpenID 2.0からの新しい仕様として、「Directed Identity」のしくみがあります。従来のように「http://openid.example.com/username#aa」のような長いURLをOpenIDの入力欄へ入力する代わりに、OP Identifierを入力するだけでログインできるようになりました。たとえば、Yahoo! JAPANのOpenIDを利用する場合は、OpenIDの入力欄へ「yahoo.co.jp」と入力するだけです。

利用者にもっと簡単にYahoo! JAPANのOpenIDを使ってもらうにはどうすればいいですか?

下記の専用ログインボタンを利用することで「yahoo.co.jp」の入力を省略できます。OpenID入力欄に「yahoo.co.jp」と入力して決定するというアクションを、このボタンを押すことで代行できるため、利用者はボタンを押すだけでOpenIDによる認証プロセスを開始できます。

Yahoo! JAPAN IDでログイン

Yahoo! JAPAN IDログインボタン
Yahoo! JAPAN IDログインボタンの注意事項

なぜ「PAPE nist_auth_level 0」と通知されるのでしょうか?

Yahoo! JAPANのOpenIDは現在ベータ版であり、ウェブサイト上での金銭的やりとりを行う場合や、クレジットカード番号などの機密情報の保存を行うウェブサイトでの利用は現在推奨しておりません。このことをRP側へより明示的にするためにPAPE extensionを利用して、「NIST Auth Level 0」であることを通知しています。

開発者ブログ

Yahoo! JAPANのスタッフや著名なデベロッパーのブログを紹介しています。新しいサービスのアイデアにお役立てください。

開発者コミュニティ

Yahoo!グループに開発者のためのグループを用意しています。ほかのデベロッパーと交流し、質問やアイデアの共有にお役立てください。

法人デベロッパー専用お問い合わせ