OpenID(自社サイトをYahooなどのアカウントを使ってログイン可能にする)

ネットショップ構築 > 機能 > OpenID(自社サイトをYahooなどのアカウントを使ってログイン可能にする)

OpenIDとは自社(ネットショップ)のサイトを他のサイト(Yahoo、mixiなど)のアカウント使ってログイン可能にするというものです。

利用者からみれば、1つのID(アカウント)でいろんなサイトのサービスを利用できるので、たくさんのパスワードを管理する必要がなくなります。

OpenID対応ログインページのイメージ

ログイン

メールアドレス
パスワード
パスワードを忘れたら
  以下のアカウントでログインする
Yahoo! JAPAN Yahoo! JAPAN IDでログイン
mixi mixiでログイン
Google Googleでログイン

■なぜ、Yahooやmixiなどのアカウント使って利用可能にするのか?

今は、ネットで買い物、またパソコンソフトのユーザ登録まで、何かしようとするとほとんどのサイトでユーザ(または会員)登録する必要があります。

ユーザ登録では多くはメールアドレスとパスワードとなっていて、安全を考えてパスワードは同じにしないようにするがよいのですが、そうするとパスワードを管理するのも大変ですし、ましてメールアドレスを複数持っている人はなおさら大変です。

これらのことがめんどうで、ユーザ(会員)登録をしないという人、最終的には購入まで至らなかったという人も少なくはないと思います。

また、お客様が登録内容を忘れてしまい、新たに別メールアドレスで登録してくることもあります。この場合、同じ人の複数の会員情報が登録されたりして、サイト管理者を悩ます材料にもなります。

そんな問題を解決する為の仕組みがOpenIDというものです。ユーザ、自社サイト、認証機能を提供する会社(Yahoo, mixiなど)、共にメリットがあるかと思います。

■どのような仕組み?安全?

Yahooのログイン・アカウントで自社サイトにログインする場合を例にとって簡単に説明します。

まず、ログインする場所(画面)は自社サイトではなく、Yahooとなります。ログインする為の「Yahoo! JAPAN ID」と「パスワード」はYahooの画面を使って、Yahooに送られます。(通常のYahooにログインするのと同じです)ここで重要なのは自社サイトの画面でYahooのログイン情報(ID、パスワード)は入力しないので、自社サイトにはID,パスワードは送られないということです。

ですので、自社サイトのログイン画面で「Yahoo!JAPANIDでログイン」をクリックすると、YanooのサイトにジャンプしてYahooのログイン画面が表示されます。ユーザはここでログインすると、Yahooから自社サイトに以下の結果が送られます。

  • ログイン認証できたか、失敗したか。
  • ログイン認証できた場合はその識別情報(OpenIDでは「識別子」)

ここで重要なのは、認証できた場合でもYahooから自社サイトへは個人情報は送られてきません。(OpenIDの規格では個人情報の要求/受取りができるようになっていますが、要求しても実際には送ってきません)

また、認証できた場合の識別情報(OpenID識別子)は以下の通りです。

  • Yahooの識別情報(OpenID識別子)の例(実際のものでありません)
    https://me.yahoo.co.jp/a/dkfltoeuwgfjsghqitrhjg#XXXX

自社サイトは上記の識別情報を保存して、それをもとにログインするユーザを識別をします。

このOpenID識別子は同じユーザでも利用するOpenID対応サイト毎に異なるようになっています。例えば、同じ人が自社サイトにログインした時の識別子と別なサイトにログインした時の識別子は同じになりません。

上記以外の情報(個人を特定する情報)は自社サイトには格納されません。ですので、自社サイトを利用可能する上でどうしても、最低限の情報(メールアドレス等)を入力してもらう必要があります。

■個人情報を残したくない人のために

利用する上で自社サイトに入力した個人情報(名前、メールアドレス等)を残したくない方もいるかと思います。その人の為に、OpenIDなどの仕組みを使ってYahooなどからログインするようにしておけば、個人情報等を削除してもログインできる状態(マイページがある状態=有効ポイントを残しておくとか)にできます。

■OpenID組み込みについて

本ページをシステム開発している方もご覧になっているかもしれませんので、OpenID組み込み時の情報を提供します。ちなみに当サイトはJava です。

OpenIDアクセスする為のライブラリーは各ツール毎に提供されていますので、そのツールをご存知の方は組み込むにはそう難しいことではないと思います。OpenID ファウンデーション・ジャパンには日本語の資料もあります。

ひとつ悩んだことが、「レルム(realm)」の「OpenID 認証要求が有効な URL 空間を表すパターン」の指定です。このURLを元にOpenIDの「識別子」が発行されるようで、このURLを固定しておかないと、同じログインでも別なOpenIDの「識別子」が発行される場合があります。間違って、このURLにセッションIDなどが入ってしまった場合は、別な識別子が発行されてしまい、別ユーザとして登録されることになりますのでご注意ください。

参考