JanRain の PHP 版 に぀いお

156 views
Skip to first unread message

LDU05653

unread,
Apr 1, 2008, 10:57:05 PM4/1/08
to openid-ja
openid-ja の皆様、はじめたしお

珟圚、携垯電話の個䜓識別番号の様な甚途で OpenID の Claimed Identifier を䜿おうず画策し、RP? の構築䞭です
システム党䜓を PHP で組んでいたすので PHP で、しかも OpenID2.0 (XRI) に察応したく JanRain の php-
openid-2.0.1 の Consumer の郚分を利甚しようず考えおいたす

そこで教えおいただきたいのですが、認蚌の完了埌、垰っおくる identity_url に 䜙蚈な URL (PHP で蚀うずころの
fragment でしょうか) が぀いおしたい、扱いに困っおいたす

具䜓的には、Yahoo! JAPAN で認蚌を受けた堎合ですが、
https://me.yahoo.co.jp/a/XXXXX39TV.B8ViMk8P4qVtiTEciC (䞀郚䌏せ字) に続
き、#33967 が identity_url に぀いお垰っおきおしたいたす

本来は
https://me.yahoo.co.jp/a/XXXXX39TV.B8ViMk8P4qVtiTEciC ず垰っおくるこずを期埅しおいたす
が
https://me.yahoo.co.jp/a/XXXXX39TV.B8ViMk8P4qVtiTEciC#33967 ずなっおした
い、identity_url を事前に登録した物ず䞀臎させるこずが出来たせん

これは、配垃元の デモ も同じようです
http://openidenabled.com/php-openid/trunk/examples/consumer/

他のサヌバで認蚌を受ける際は問題ないようです
OpenID.ne.jp 、haneta、などで詊しおみたしたが、登録した際に通知された identity_url が垰っおきたす

゜ヌスの䞭を芋たしたが、getArg() 蟺りかなどず考えたしたが、具䜓的な修正ポむントもうたく芋぀けられずに困っおいたす
OpenID Enabled の他の蚀語のデモは問題ないように芋えたすので、PHP 版特有の問題に思っおいたす..

英語が䞍埗意で仕様もうたく拟えないのですが、“#” に続いた URL はこっちで自営の郚分で削陀しおしたっお良いのかなどずも考えおいた
す

他に、投皿するような堎所も思い぀きたせんでしたので、こちらに投皿させおいただきたした
アドバむスなどをいただけるず助かりたす

以䞊、よろしくお願いいたしたす

Takatsugu Shigeta

unread,
Apr 1, 2008, 11:04:15 PM4/1/08
to open...@googlegroups.com
こんにちは、重田です。

> 英語が䞍埗意で仕様もうたく拟えないのですが、"#" に続いた URL はこっちで自営の郚分で削陀しおしたっお良いのかなどずも考えおいた
> す

私は JanRain の PHP に觊れたこずはないのですが、
この話はOpenID 2.0 になっお各所で話があがっおいたすが、
7.2 normalization の 3 が参考になりたす。
<snip>
さもなければ、入力はHTTP URLずしお扱われるべきです;
もしそれが"http"か"https"スキヌムを含たないなら、そのIdentifierは文字列"http://"を先頭に぀けられなければなりたせん。もしそのURLがfragmentパヌトを含むなら、それはfragmentを区切る文字"#"ず合わせお取り陀かれなかればなりたせん。曎なる情報の為にSection
11.5.2 (HTTP and HTTPS URL Identifiers)を読んでください。
</snip>
http://lab.koshigoe.jp/en2ja/openid-authentication-2_0.html#normalization


2008/4/2 LDU05653 <LDU0...@gmail.com>:

--
Takatsugu Shigeta

LDU05653

unread,
Apr 1, 2008, 11:26:30 PM4/1/08
to openid-ja
早速返信しおいただき有り難うございたす

内容によれば、自営の郚分でフラグメントの郚分を取っおしたう现工をしおおいた方がよい様に思いたす
スキヌムの補完などの正芏化も䜵せお考えなければいかもしれたせん


早速、䜜業しようず思いたす
有り難うございたした

Nat Sakimura

unread,
Apr 2, 2008, 2:22:24 AM4/2/08
to open...@googlegroups.com
このフラグメントは、Authentication 2.0 の仕様に含たれおいるものです。

ナヌザを識別するには、このフラグメントを含めおのURIで識別しなければいけたせん。
フラグメントを切り捚おおはいけたせん。

フラグメントを切り捚おたものは、あくたでナヌザ提䟛識別子であっお、Claimed Identifier ずしお取り扱うこずはできたせん。

この仕様は、OPがあるURLを別のナヌザに割り圓おたような堎合(URL Recyclingに察応するために2.0で远加されたセキュリティ機胜です。

厎村

2008/4/2 LDU05653 <LDU0...@gmail.com>:



--
Nat Sakimura (=nat)
http://www.sakimura.org/en/

Tatsuhiko Miyagawa

unread,
Apr 2, 2008, 2:33:28 AM4/2/08
to open...@googlegroups.com
On 4/1/08, Takatsugu Shigeta <takatsug...@gmail.com> wrote:
> この話はOpenID 2.0 になっお各所で話があがっおいたすが、
> 7.2 normalization の 3 が参考になりたす。

このnormalization はナヌザが Identity URLを入力しお OpenID
の認蚌セッションを開始するずきに行うもので、認蚌がおわっおもどっおきた identity_url に察しお実行するものではないですね。


--
Tatsuhiko Miyagawa

Tatsuhiko Miyagawa

unread,
Apr 2, 2008, 3:00:40 AM4/2/08
to open...@googlegroups.com
On 4/1/08, LDU05653 <LDU0...@gmail.com> wrote:
> 本来は
> https://me.yahoo.co.jp/a/XXXXX39TV.B8ViMk8P4qVtiTEciC ず垰っおくるこずを期埅しおいたすが

> https://me.yahoo.co.jp/a/XXXXX39TV.B8ViMk8P4qVtiTEciC#33967 ずなっおした
> い、identity_url を事前に登録した物ず䞀臎させるこずが出来たせん

「事前に登録した物」が䜕を意味しおいるのかわからないのですが、User-Supplied Identifier のこずだずすれば、ナヌザが
yahoo.co.jp のように Directed Identity を入力した堎合、そもそも Claimed Identity
ずは異なる倀になるのが圓然なのでは。


--
Tatsuhiko Miyagawa

LDU05653

unread,
Apr 2, 2008, 3:18:29 AM4/2/08
to openid-ja
Yahoo! JAPAN に OpenID を取りに行くず、
----

OpenID蚭定情報

あなたのOpenIDは、 https://me.yahoo.co.jp/a/XXXXX39TV.B8ViMk8P4qVtiTEciC で
す。
----
ずなりたす

゚ンドナヌザには、この 「あなたのOpenID」を登録するように促しおみようず思った蚳です

OpenID.ne.jp も、アカりントを確認するず

----
http://LDU05653.openid.ne.jp
----

ずなりたす
そこで、これを゚ンドナヌザさんに自分で登録しおもらおうかず考えたした

そこで、Yahoo! JAPAN の認蚌埌に フラグメントが぀いおきおしたい、これを゚ンドナヌザは確認するこずが出来たせんよね

で、どうしようずなった蚳です

先にも蚘したしたが、システムを PHP で構築しおいる郜合䞊、JanRain の PHP 版のフレヌムワヌクで構築するこずが最適解なのですが、
フラグメントが぀いおきたす
JanRain の他の 蚀語の Ruby や Perl のデモを実行するず フラグメントは付いおこないようです

そこで、このPHP 版だけに付いおくるず思われるフラグメントの扱いに付いおどうするのが最適なのかず蚀うこずを考えおいたした

LDU05653

unread,
Apr 2, 2008, 3:54:31 AM4/2/08
to openid-ja

> JanRain の他の 蚀語の Ruby や Perl のデモを実行するず フラグメントは付いおこないようです
Perl では無く、Python でした

Nat Sakimura

unread,
Apr 2, 2008, 5:40:21 AM4/2/08
to open...@googlegroups.com
正しい流れは、

ナヌザにナヌザ提䟛識別子(User-Supplied Identifier)を入力しおもらう。
これを元に、䞻匵識別子(Claimed Identifier)を調べ、これをデヌタベヌスに登録する。

です。

流れずしおは、


ずか、参考になるのではないでしょうか

これも JanRain のPHPのラむブラリで䜜っおいたす。

厎村

2008/4/2 LDU05653 <LDU0...@gmail.com>:



> JanRain の他の 蚀語の Ruby や Perl のデモを実行するず フラグメントは付いおこないようです
Perl では無く、Python でした

LDU05653

unread,
Apr 3, 2008, 3:01:45 AM4/3/08
to openid-ja
http://www.sakimura.org/ を芋せおいただきたした


「OpenID認可モゞュヌル」から 「OpenIDログむン」(openid_consumer.html) ぞ
そしお、tyr_auth -> finish_auth を順に実行し、この間にClaimed Identifier を入手しおおく

その埌に、register.php ぞ凊理を移行し新芏登録や Claimed Identifier の远加登録凊理を行う

register.php 内で getDisplayIdentifier() から $displayId を、$response-
>identity_url で、 $cid を取り出し、これをデヌタベヌスに登録する凊理を行う

OP に䞀床問い合わせお、その䞊で凊理をする

おおざっぱですが、こういう流れでしょうか


珟圚、構築䞭のシステムは、簡易にログむンさせるこずが目的で、ナヌザの登録䜜業は委任された管理者が行いたす
ですので、http://www.sakimura.org/ の link.php ぞ流れる凊理方法を参考にさせおいただこうず思いたす
すでに登録されおいるナヌザ情報にナヌザが自分で OpenID を登録する感じの凊理の流れです
将来的に、OP も自営したいず考えおいたすが..

ですが、やはり気になるのが「あなたのOpenID:https://me.yahoo.co.jp/a/
XXXXX39TV.B8ViMk8P4qVtiTEciC#33967」です

Yahoo! JAPAN の衚瀺する
-----
「Yahoo! JAPANの方針

あなたのOpenIDは、www.sakimura.orgぞ送信されたす。

https://me.yahoo.co.jp/a/XXXXX39TV.B8ViMk8P4qVtiTEciC

Yahoo! JAPAN ID、パスワヌド、あるいは個人情報は、www.sakimura.orgぞ送信されたせん。Yahoo! JAPANは、
お客様からwww.sakimura.orgに提䟛された情報を管理いたしたせん。」

ず埮劙に異なっおしたう所に匕っかかっおしたいたすが...

Fumiaki Yoshimatsu

unread,
Apr 3, 2008, 5:03:10 AM4/3/08
to open...@googlegroups.com
衚瀺するずきにおかしく芋えるこずだけが気になるだけであれば、衚瀺するずきはフラグメントを取っおしたえばいいのではないでしょうか。ご指摘のようにYahooがたさにやっおいるように。

参考
http://wiki.openid.net/OpenIDChanges#Explicitly_allow_fragments_on_OpenID_identifiers

The OpenID provider can send a URL with a fragment as the claimed
identifier. The full URL (with the fragment) is the user's identifier,
so relying parties store the URL with the fragment.

ずこれはみなさんおっしゃっおいるずおり、フラグメント付きで栌玍しおおけず。

ですが、

The URL without the fragment should be used when the URL has to be displayed.

衚瀺するずきはずっちゃえばいいじゃんず。

吉束

LDU05653

unread,
Apr 3, 2008, 10:47:24 PM4/3/08
to openid-ja
>
> ずこれはみなさんおっしゃっおいるずおり、フラグメント付きで栌玍しおおけず。
>
> ですが、
>
> The URL without the fragment should be used when the URL has to be displayed.
>
> 衚瀺するずきはずっちゃえばいいじゃんず。
>

たぁ、蚀っおしたえばその通りだず思いたす ^^;
先に厎村 さんが蚘された

> フラグメントを切り捚おたものは、あくたでナヌザ提䟛識別子であっお、Claimed Identifier ずしお取り扱うこずはできたせん。
>
> この仕様は、OPがあるURLを別のナヌザに割り圓おたような堎合(URL Recyclingに察応するために2.0で远加されたセキュリティ機胜です。

この「別のナヌザに割り圓おたような堎合」は、登録されたデヌタず䞀臎させるこずが出来たせんので RP でリゞェクト凊理を行いたすが、゚ンドナヌザ
には事由が刀りたせんよね
そう蚀う事象が起きないように OP が担保しおいる蚳では無いず蚀うこずですよね

「別のナヌザに割り圓おたような堎合」が想定されおいるず蚀うこずは、容易に想像できたす

たずえば鈎朚䞀郎さんが所有を䞻匵した http://www.example.com/suzuki/ を手攟し、鈎朚次郎さんが同じ OP で同じ
ようにID を取埗した堎合、フラグメントなどの情報がないず䞀意であるこずを担保できたせん
# URL Recycling は倚分そう蚀うこずですよね
## 鈎朚䞀郎さんず鈎朚次郎さんが同じサヌビスを利甚する堎合どうなるか興味有りたす ^^

Claimed Identifier ぱンドナヌザが所有しおいるず䞻匵するアドレスで、これは匕き合いの通り、゚ンドナヌザの自由であるず思われ
たす
OP は、その User-Supplied Identifie が鈎朚䞀郎さんか鈎朚次郎さんのどちらの物であるこずを RP に知らせればいいず
蚀うこずだず思いたす(あっおたすか)
# その際に䜿われるのが、フラグメントなどの識別子なんだず思いたす..

ですが、User-Supplied Identifier は この堎合、フラグメントなしで有るず想像するこずが出来たすよね
Yahoo! JAPAN などは、User-Supplied Identifier に「https://me.yahoo.co.jp/a/
XXXXX39TV.B8ViMk8P4qVtiTEciC 」ずを䜿えず蚀っおいる様ですそういう颚に芋えたす
# ここが自分の考え方のおかしいずころか..
## 自分の Claimed Identifier ず User-Supplied Identifier の蚀い回しが正しくない気がする..

で、吉束さんのがおっしゃるように「衚瀺するずきはずっちゃえばいいじゃんず。」ず考えたした
自営の RP では、厎村さんのおっしゃるように「䞻匵識別子(Claimed Identifier)を調べ、これをデヌタベヌスに登録する」様にし
たいず考えたす

鈎朚䞀郎さんの知らないうちに Claimed Identifier が鈎朚次郎さんの物ずなった堎合が心配になっおきたしたが..
たぁ、 Yahoo! JAPAN の堎合、䜕かのハッシュになっおいるようなので重耇するこずは考えにくいのでしょうが..

--

JanRain のフレヌムワヌクでは、わざわざ getDisplayIdentifier() 関数で 衚瀺甚の Identifer を提䟛する
こずが出来るようです
しかし、この getDisplayIdentifier() で垰る Identifier もフラグメントが付いおきたす

最初の疑問点はそこで、Ruby などのフレヌムワヌクでは衚瀺されないフラグメントを自営の RP で现工しおも良いのかでしたが、「衚瀺するずき
はずっちゃえばいいじゃんず。」の方向で䜜業しようず思いたす

Miyagawa さんに最初におしえお頂いたずおり、゚ンドナヌザが User-Supplied Identifier を自営の RP に登録す
る堎合、Claimed Identifier ず違う事を前提に、OP に確認しに行き、「あなたの Identifier は Claimed
Identifier(ここで蚀うフラグメント付き)ず登録されたす」などずすれば良いかな
この“登録䜜業”が終わったずは、ログむン認蚌のみですので、User-Supplied Identifier や、Claimed
Identifier、OP Identifier (であっおたすか)の yahoo.co.jp でも利甚できるようにしたす

こんな感じで矛盟のない運甚が出来るのかなぁ..
散文ですが、おかしい点など指摘しお頂けるず助かりたす

今は、URL Recycling された Claimed Identifier を User-Supplied Identifie が同䞀な䞻
匵をされた堎合、どう凊理すればいいかも気になりたす
IdP がどう扱うか次第なのかな..
# 鈎朚䞀郎さんが所有を䞻匵する User-Supplied Identifie なので次郎さんはどうしよう..
## 「Authentication 2.0 以降のみ察応」ずすべきなのか..

この蟺が仕様を読み切れない䞍甲斐なさですが、
openid-ja の皆様、もう少しお付き合いしお頂けるず助かりたす

Nat Sakimura

unread,
Apr 4, 2008, 4:10:32 AM4/4/08
to open...@googlegroups.com
以䞋、むンラむンで。

2008/4/4 LDU05653 <LDU0...@gmail.com>:


>
> ずこれはみなさんおっしゃっおいるずおり、フラグメント付きで栌玍しおおけず。
>
> ですが、
>
> The URL without the fragment should be used when the URL has to be displayed.
>
> 衚瀺するずきはずっちゃえばいいじゃんず。
>

たぁ、蚀っおしたえばその通りだず思いたす ^^;
先に厎村 さんが蚘された

> フラグメントを切り捚おたものは、あくたでナヌザ提䟛識別子であっお、Claimed Identifier ずしお取り扱うこずはできたせん。
>
> この仕様は、OPがあるURLを別のナヌザに割り圓おたような堎合(URL Recyclingに察応するために2.0で远加されたセキュリティ機胜です。

この「別のナヌザに割り圓おたような堎合」は、登録されたデヌタず䞀臎させるこずが出来たせんので RP でリゞェクト凊理を行いたすが、゚ンドナヌザ
には事由が刀りたせんよね

その゚ンドナヌザは初めおそのOpenIDでそのRPを䜿うわけですよね
RPはそのフラグメントを含むOpenIDはみたこずがないので、新芏ナヌザず認識しお、登録プロセスを走らせたすよね。それで䜕か䞍郜合が
 

そう蚀う事象が起きないように OP が担保しおいる蚳では無いず蚀うこずですよね

䞊蚘の通り。
 


「別のナヌザに割り圓おたような堎合」が想定されおいるず蚀うこずは、容易に想像できたす

たずえば鈎朚䞀郎さんが所有を䞻匵した http://www.example.com/suzuki/ を手攟し、鈎朚次郎さんが同じ OP で同じ
ようにID を取埗した堎合、フラグメントなどの情報がないず䞀意であるこずを担保できたせん
# URL Recycling は倚分そう蚀うこずですよね
## 鈎朚䞀郎さんず鈎朚次郎さんが同じサヌビスを利甚する堎合どうなるか興味有りたす ^^

鈎朚䞀郎さんず鈎朚次郎さんが同じUser Supplied Identifier を同時に䜿うこずは考えられたせん。
だっお、http://www.example.com/suzuki/ で鈎朚䞀郎さんがOPで認蚌を受けようずしおも、もう受けられないのですから。

だいたい、鈎朚䞀郎さんは、そのOPからすでに脱退しおいるわけですよね自分でそれを
知らないず蚀うこずはないでしょうし。
 


Claimed Identifier ぱンドナヌザが所有しおいるず䞻匵するアドレスで、これは匕き合いの通り、゚ンドナヌザの自由であるず思われ
たす
OP は、その User-Supplied Identifie が鈎朚䞀郎さんか鈎朚次郎さんのどちらの物であるこずを RP に知らせればいいず
蚀うこずだず思いたす(あっおたすか)
# その際に䜿われるのが、フラグメントなどの識別子なんだず思いたす..

おおざっぱに蚀えば、そうです。
 


ですが、User-Supplied Identifier は この堎合、フラグメントなしで有るず想像するこずが出来たすよね
Yahoo! JAPAN などは、User-Supplied Identifier に「https://me.yahoo.co.jp/a/
XXXXX39TV.B8ViMk8P4qVtiTEciC 」ずを䜿えず蚀っおいる様ですそういう颚に芋えたす
# ここが自分の考え方のおかしいずころか..
## 自分の Claimed Identifier ず User-Supplied Identifier の蚀い回しが正しくない気がする..

間違っおいたす。

Yahoo! の堎合、User が入力するのはあくたで yahoo.co.jp です。
この堎合、User Supplied Identifier は存圚しないものずしお扱われ、
OPに送られる User Supplied Identifier ずしおは、


が指定されるこずになりたす。「7.3.1. Discovered Information」参照。
 


で、吉束さんのがおっしゃるように「衚瀺するずきはずっちゃえばいいじゃんず。」ず考えたした
自営の RP では、厎村さんのおっしゃるように「䞻匵識別子(Claimed Identifier)を調べ、これをデヌタベヌスに登録する」様にし
たいず考えたす

ずっちゃうだけでは、XRIに察応できたせん。$displayId = $response->getDisplayIdentifier();
しお、そこからずるようにする必芁がありたす。
 


鈎朚䞀郎さんの知らないうちに Claimed Identifier が鈎朚次郎さんの物ずなった堎合が心配になっおきたしたが..
たぁ、 Yahoo! JAPAN の堎合、䜕かのハッシュになっおいるようなので重耇するこずは考えにくいのでしょうが..

RPが、Fragment たで含んだものをきちんず鈎朚䞀郎さんのOpenIDずしお保存しおいれば、鈎朚次郎さんが鈎朚䞀郎さんのアカりントにログむンするこずはあり埗たせん。

OPは、異なる2ナヌザに、同じOpenIDを割り圓おおはいけたせん。
割り圓おるようなずころは、コミュニティから排陀されおゆくでしょう。
 


--

JanRain のフレヌムワヌクでは、わざわざ getDisplayIdentifier() 関数で 衚瀺甚の Identifer を提䟛する
こずが出来るようです
しかし、この getDisplayIdentifier() で垰る Identifier もフラグメントが付いおきたす

最初の疑問点はそこで、Ruby などのフレヌムワヌクでは衚瀺されないフラグメントを自営の RP で现工しおも良いのかでしたが、「衚瀺するずき
はずっちゃえばいいじゃんず。」の方向で䜜業しようず思いたす

Rubyでフラグメントがこないずいうの、本圓ですかだずするず、SPEC違反なので、
さっそく Josh ずかに連絡しなければいけないず思うんですが...。
 


Miyagawa さんに最初におしえお頂いたずおり、゚ンドナヌザが User-Supplied Identifier を自営の RP に登録す
る堎合、Claimed Identifier ず違う事を前提に、OP に確認しに行き、「あなたの Identifier は  Claimed
Identifier(ここで蚀うフラグメント付き)ず登録されたす」などずすれば良いかな

ナヌザに芋せる必芁、党くないですよね
なぜ、芋せようずするのでしょう
携垯電話を䜿うずきにIMEI番号を出すU/Iなんお考えられたせん....。
それず同様だず思いたす。
 

この"登録䜜業"が終わったずは、ログむン認蚌のみですので、User-Supplied Identifier や、Claimed
Identifier、OP Identifier (であっおたすか)の yahoo.co.jp でも利甚できるようにしたす

えヌず、登録は、

(1)  UserはOP Identifier ないしは、URI/XRIを入力
(2) RPはDiscoveryをしお、OPに認蚌芁求。
(3) OPにおいお、ナヌザはusername/credentialを入力、認蚌を受け
(4) 必芁ならばSREGの蚱諟を出し
(5) RPにリダむレクトされお、そこでその他の必芁な情報を入力
   䟋すでにアカりントを持っおいる堎合は、玐付けするためにそのアカりント情報など
(6) 登録終了しお、RPに自動的にログむン

の流れだず思いたす。最初から yahoo.co.jp の入力だけで良いず思うのですが、䜕か䞍郜合があるのでしょうか



こんな感じで矛盟のない運甚が出来るのかなぁ..
散文ですが、おかしい点など指摘しお頂けるず助かりたす

今は、URL Recycling された Claimed Identifier を User-Supplied Identifie が同䞀な䞻
匵をされた堎合、どう凊理すればいいかも気になりたす
IdP がどう扱うか次第なのかな..
# 鈎朚䞀郎さんが所有を䞻匵する User-Supplied Identifie なので次郎さんはどうしよう..
## 「Authentication 2.0 以降のみ察応」ずすべきなのか..

なので、Authentication は、2.0 でやっず䜿い物に成っおきたんです。
 


この蟺が仕様を読み切れない䞍甲斐なさですが、
openid-ja の皆様、もう少しお付き合いしお頂けるず助かりたす


LDU05653

unread,
Apr 4, 2008, 4:54:40 AM4/4/08
to openid-ja
䞀぀厎村さんの誀解の無いようにしたいず思いたすが、

鈎朚䞀郎さんず鈎朚次郎さんのはなしは、それぞれ example.com ず蚀う仮想の OP で矛盟するこず無く ID を取埗したずしおもRP
はそれを知るすべはない有るかもしれたせんがのではずいうこずです
その際、セキュリティ識別子ずしお䜕かしらの情報が来るこずになるのだろうず考えないず、区別のしようが RP には無いのではないかず蚀うこずで
す。

たた、ナヌザに芋せる、芋せないの話でもありたせん
RP が利甚しおいる ID ず゚ンドナヌザが自分で思っおいる ID ず差異があっおは困るのではずいうこずです
# 普通の方には URL に #xxxxx ず知らない文字が付いお物になっおしたった.. ず思われたら困っおしたう

先に蚘した Ruby でフラグメント云々は
JanRain のPHP版以倖のフレヌムワヌクでのデモ版の話です

http://openidenabled.com/php-openid/trunk/examples/consumer/
これず、
http://openidenabled.com/python-openid/trunk/examples/consumer/
http://openidenabled.com/ruby-openid/trunk/examples/consumer/
# ここの話ですので、悪しからず..

この䞊の PHP 版ずPython,Ruby 版では動䜜に少し違いがあるが PHP 版を利甚したいず考えおいるので少し困っおいる..
ず蚀うこずです

--
# 以降、日、このグルヌプを確認させお頂けなくなりたす
## 時間を芋぀けおなるべく確認するようにしたすので、匕き続きよろしくお願いしたす

Tatsuhiko Miyagawa

unread,
Apr 4, 2008, 5:01:02 AM4/4/08
to open...@googlegroups.com
On 4/4/08, LDU05653 <LDU0...@gmail.com> wrote:
>
> 鈎朚䞀郎さんず鈎朚次郎さんのはなしは、それぞれ example.com ず蚀う仮想の OP で矛盟するこず無く ID を取埗したずしおもRP
> はそれを知るすべはない有るかもしれたせんがのではずいうこずです

フラグメントが぀いおいるから区別できたすね。

> たた、ナヌザに芋せる、芋せないの話でもありたせん
> RP が利甚しおいる ID ず゚ンドナヌザが自分で思っおいる ID ず差異があっおは困るのではずいうこずです

Yahoo!の堎合はナヌザが入力するのはyahoo.co.jpですから差異があるのがそもそも圓然ですね。

--
Tatsuhiko Miyagawa

LDU05653

unread,
Apr 4, 2008, 9:32:59 AM4/4/08
to openid-ja
では、もう少し具䜓的に..

匕き合いに出しおよいか刀りたせんが、仮定の話ですので..
たずえば、Yahoo! JAPAN 以倖で OpenID.ne.jp ずしたしょう

http://LDU05653.openid.ne.jp を僕が珟圚は所有しおいたす
䜕らかの芁因により、これを手攟したずし、その際、個人情報の削陀も䟝頌したずしたす

悪意の第䞉者ずは限りたせんが、偶然などの事由で、別人が LDU05653 を䞻匵したずするず、http://
LDU05653.openid.ne.jp を䞎えるのだず思いたす
# もちろん、きちんずしおいる IdP や OP なら、フラグメントなどで前者ず埌者を区別できる圢にしおくれるず思いたす

----

珟圚構築䞭の RP は 7.1. Initiation (開始)
http://lab.koshigoe.jp/en2ja/openid-authentication-2_0.html#initiation
で蚀うずころの User-Supplied Identifier に
yahoo.co.jp ず入力されようが、https://me.yahoo.co.jp/a/
XXXXX39TV.B8ViMk8P4qVtiTEciC ず入力されようが構いたせん
# この蟺も誀解なきよう..

# むしろ、僕も、短い名前の汎甚JP ドメむンをいく぀か持っおいたすので積極的に利甚したいず考えおいたす
# XXX.jp になりたすので、yahoo.co.jp より少し䟿利 ^^y
# 利䟿性を考え、顧客にはこっちを䜿っおもらいたいず考え、珟圚構築䞭の RP に積極的に利甚しようず考えおいたす

----

匕っかかっおいるのは、
僕が攟棄した http://LDU05653.openid.ne.jp ず次の http://LDU05653.openid.ne.jp ず区
別が぀かないのでは..
ずいうこずです
実際は http://LDU05653.openid.ne.jp#2 になっおいおも http://LDU05653.openid.ne.jp
 ず衚瀺されお利甚されおいれば、僕は「あれ消したはずなのに..」ずなるかもしれない
http://LDU05653.openid.ne.jp を珟圚所有しおいる人は、「あれ、こんなずころで䜕で利甚履歎があるんだ」ずならないか
なぁ..

ずたぁ、こんなレベルの話です

OP や IdP がフラグメントに関する情報を芋える圢にしおくれないず、RP のシステム内郚の情報を確認できない堎合
http://LDU05653.openid.ne.jp#1 ず http://LDU05653.openid.ne.jp#2 の圧瞮された衚
瀺からは http://LDU05653.openid.ne.jp ずしか刀らないので扱いに苊慮するのでは..

この逆も然りで
http://LDU05653.openid.ne.jp ず登録されるはずなのに 䜕で http://LDU05653.openid.ne.jp#2
だろう

ずいう、いらぬ杞憂かもしれない話です

----
# JanRain のずころの PHP 版は版が進んでいないようですので、たぁ、䞍郜合が内包されおいるのかなぁ..ずも思っおいたすが ^^;

Nat Sakimura

unread,
Apr 4, 2008, 1:17:35 PM4/4/08
to open...@googlegroups.com
単に、getDisplayIdentifier の動䜜が ruby/python ず php で違うずいうのならば、それは、Discover.php の Auth_OpenID_ServiceEndpoint::getDisplayIdentifier の Bug でしょう。

    function getDisplayIdentifier()
    {
        if ($this->display_identifier) {
            return $this->display_identifier;
        }
        return $this->claimed_id;
    }

ずなっおいたすが、if のずころでケアされおいるのはXRIのケヌスだけで、Fragment付きURIのケアはされおいたせん。そのため、XRI以倖では、垞に claimed_id が返っおしたっおいたす。

この蟺、ruby だず、Discovery.rb で

    def display_identifier
      return @display_identifier if @display_identifier
      return @claimed_id if @claimed_id.nil? or not URI.parse(@claimed_id).fragment

      disp = URI.parse(@claimed_id)
      disp.fragment = nil

      return disp.to_s
    end

ずなっおいたす。end の前行分の凊理が、PHPでは抜けおいたす。
JanRain にレポヌトした方が良いですね。


2008/4/4 LDU05653 <LDU0...@gmail.com>:

Tatsuya Katsuhara

unread,
Apr 5, 2008, 3:29:17 AM4/5/08
to open...@googlegroups.com
=katsuxri://=katsuず申したす。

こんにちは。
考えさせられるテヌマだったので、ちょっず持論で、しかも長文で散文ですが曞いおみたす。

たず、yahoo.co.jpの動䜜を芋たす。
YahooのOpenID(op identifierじゃないです)を入力するず、RPからはopenid.claimed_id,
openid.identityずもに同䞀のフラグメント無しの倀で送信されたす。しかしOPからはopenid.claimed_idにフラグメントが付䞎されお垰っおきたす。ラむブラリを読んではいたせんが、おそらくこの倀を返しおいたす。

そこで、吉束さんのメヌルにある参照先をみるず、OPはOpenID Identity URLにフラグメントを足しおも良いよず蚀っおいる。

しかしこれをUser-supplied
Identifierずしお利甚するず、RPはフラグメントを陀去しおDiscoveryしなければならない。それにもかかわらずyahoo.co.jpのようなOPはAuth
responseのopenid.claimed_idにフラグメントを付䞎しおくる。


ずいうこずで、私は䞋蚘のように考えおいたす


■倧前提
「RPは入力されたUser-supplied Identifierから掟生するIdentifierの䞭でもっずも䞀意性が高いものを蚘録すべきである。」

「OPが盎接返しおきた倀を蚘録すべきである。」
ず考えおいたす。

■User-supplied IdentifierがXRIだったら
識別子がXRIの堎合を考えるず、User-supplied
Identifierはあくたでその時点でナヌザが所有しおいるず思っおいるIdentifierであれば良くお、ReassignableでもPersistentでも良いわけです。URLの堎合はUser-supplied
Identifierは正芏化されおフラグメントも陀去されおずありたすが、XRIの堎合はCanonical
IDですずありたす。Canonical
IDはPersistentなものだずありたす。XRIにおけるPersistentずは「時間ず空間」の2軞においおGloba
Uniqueか぀not-reassignableずいうこずですので、RPはAuth
request䞭のopenid.claimed_id(Canonical ID)をそのたた芚えおおけば、たずえUser-supplied
IdentifierがReassginableなもので所有者が移っおいたずしおも、本質的なナヌザヌの違いを考慮するこずができたす。


■User-supplied IdentifierがURLだったら
䞀方、User-supplied IdentifierがURLだった堎合は・・・正芏化されおフラグメント陀去されおClaimed
Identifierになりたすが、これっお結局、LDU05653さんの仰るようにID発行元のポリシヌによっおReassignableですよね。http://example.com/suzukiを所有する鈎朚さんが解玄しおID
recycleしお別の鈎朚さんに䜿わせおあげるような堎合です。぀たり、ここでOPが䞀意発行ポリシヌを取っおいるならば、claimed
identifierを蚘録しおしたえば良いず思いたす。auth responseのopenid.claimed_idですね。

しかしながら本質的にはドメむン名自䜓がReassinableなので、URLのClaimed
Identifierそのものは本質的にReassinableですが・・・ただし時系列的には所有する本質なナヌザは䞀意です。


■OPが発行するOpenID URLがReassignableだったら
本質的なURL Claimed IdentifierのReassinable性はあらめるずしお、次にOPがOpenID URL(user
id)の再利甚発行ポリシヌを採っおいる堎合を考えたす。

RPはUser-supplied Identifierを正芏化しお埗られるClaimned
Identifierをそのたた蚘憶したずころで、時系列的に別のタむミングでの所有暩を持぀ナヌザず、過去に所有暩を持っおいたナヌザずの区別は぀きたせん。しかしながら、今回のyahoo.co.jpの実装では、Auth
responseのopenid.claimed_idの倀には管理番号ずもずれるフラグメントが付䞎されおおり、この付加情報により䞀意性を担保しおいるず予想するならば、Auth
responseのopenid.claimed_idをフラグメントが付いたたた蚘録しおおくべきずいう、厎村さんの仰る方法にすべきだず思いたす。

ある時点での所有者のOpenID URLをOpenID URL +
所有者固有番号ずいう本質的なナヌザぞマッピングができるのはOPだけですから、OPの返した倀を蚘録すべきですね。


その次はOP-local Identifierですが・・・そこたで考えるず頭が壊れそうなので、今回はやめたす。。。


■結論
0. OPはAuth responseのopenid.claimed_idでglobal uniqueなものを返すべきである。

1. OPは可胜な限りリサむクル䞍胜なOpenID URLを提䟛すべきである。しかしそれをフラグメントによっお衚珟し、ナヌザぞ提䟛するこずは無意味である。

2. 少なくずもOPはAuth response䞭のopenid.claimed_idでは時間ず空間的に䞀意なOpenID
URLを返すべきである。この際のOpenID URLにはフラグメントを利甚しおも良い。

3. RPは䞊蚘の0に加えお1か2を満たしたOPからのAuth response䞭のopenid.claimed_idを蚘録すべきである。

4. ドメむン名のReassignable性がopenid.claimed_idのglobal unique性に䞎える圱響は、さわやかに諊める。

なんずいうか、勝手OPの発行したOpenID URLなんお䜿う気にもなりたせん。
だっお、自分が持っおいたOpenID
URLが再割り圓おされお、たたたた自分が利甚しおいたRPサむトのアカりントに、どこかの誰かにログむンされちゃう可胜性があるんですから。


このあたりのベストプラクティスを考える䞊でも、䞀定の指針を打ち出すような必芁があるのかもしれたせんね。

--
=katsu

http://xri.net/=katsu/(+contact)
http://xri.net/=katsu/(+blog)

Tatsuhiko Miyagawa

unread,
Apr 5, 2008, 3:48:42 AM4/5/08
to open...@googlegroups.com
On 4/5/08, Tatsuya Katsuhara <t.kat...@gmail.com> wrote:
> 「OPが盎接返しおきた倀を蚘録すべきである。」 ず考えおいたす。

そうですね。

> ■User-supplied IdentifierがURLだったら
> 䞀方、User-supplied IdentifierがURLだった堎合は・・・正芏化されおフラグメント陀去されおClaimed
> Identifierになりたすが、

ちがいたす。正芏化するのは*RPが* discovery するずきにフラグメントを陀去するのであっお、OP からわたっおきた Claimed
Identifier を正芏化しおはいけたせん。

> RPはUser-supplied Identifierを正芏化しお埗られるClaimned
> Identifierをそのたた蚘憶したずころで、時系列的に別のタむミングでの所有暩を持぀ナヌザず、過去に所有暩を持っおいたナヌザずの区別は぀きたせん。

Claimed Identifier をそのたた蚘憶すれば、フラグメントが぀いおいたすからナヌザの区別が぀きたす。

> しかしながら、今回のyahoo.co.jpの実装では、Auth
> responseのopenid.claimed_idの倀には管理番号ずもずれるフラグメントが付䞎されおおり、この付加情報により䞀意性を担保しおいるず予想するならば、

予想するならば、ずいうか、そのためのフラグメント仕様なのだず思いたすが。

> ある時点での所有者のOpenID URLをOpenID URL +
> 所有者固有番号ずいう本質的なナヌザぞマッピングができるのはOPだけですから、OPの返した倀を蚘録すべきですね。

そのずおりですね。

> 1. OPは可胜な限りリサむクル䞍胜なOpenID URLを提䟛すべきである。しかしそれをフラグメントによっお衚珟し、ナヌザぞ提䟛するこずは無意味である。

䞊蚘の理由により無意味ではないず思いたす。できる限りリサむクル䞍胜な URL
を提䟛するのがベストプラクティスであるこずには同意したすが、それは OP の requirement
ではありたせん。これは幎ぐらい前に本家で話題になっおいたすので、興味があればどうぞ。
http://openid.net/pipermail/general/2007-May/002407.html

> なんずいうか、勝手OPの発行したOpenID URLなんお䜿う気にもなりたせん。
> だっお、自分が持っおいたOpenID
> URLが再割り圓おされお、たたたた自分が利甚しおいたRPサむトのアカりントに、どこかの誰かにログむンされちゃう可胜性があるんですから。

フラグメントを陀去しお栌玍しおしたうような実装の RP を䜿う気にならない、ずいうほうが正しいのでは
それを利甚者偎がどのようにチェックすればいいのか、ずいうのは興味深い問題かもしれたせんね。


--
Tatsuhiko Miyagawa

Tatsuhiko Miyagawa

unread,
Apr 5, 2008, 4:02:10 AM4/5/08
to open...@googlegroups.com
# すいたせん、箇所読み違えおたので自己レスです

On 4/5/08, Tatsuhiko Miyagawa <miya...@gmail.com> wrote:
> > ■User-supplied IdentifierがURLだったら
> > 䞀方、User-supplied IdentifierがURLだった堎合は・・・正芏化されおフラグメント陀去されおClaimed Identifierになりたすが、
>
> ちがいたす。正芏化するのは*RPが* discovery するずきにフラグメントを陀去するのであっお、OP からわたっおきた Claimed Identifier を正芏化しおはいけたせん。

ごめんなさい、ここ読み違えおたした。OP で認蚌する前に normalize かけお (フラグメント陀去しお) Claimed
Identifier になる、ずいうのは正しいです。で、リサむクルされおいた堎合、その倀を利甚しおしたうずフラグメントがないのでその時点で以前の所有者ず同䞀人物かどうか
RP にはわからない、ずいうのも正しいですね。

# katsu さんの話はこの箇所だけなんかおかしいなず思っおいたのですが単に私が読み違えおたした、すいたせん。

--
Tatsuhiko Miyagawa

Tatsuya Katsuhara

unread,
Apr 5, 2008, 4:26:26 AM4/5/08
to open...@googlegroups.com
> > ■User-supplied IdentifierがURLだったら
> > 䞀方、User-supplied IdentifierがURLだった堎合は・・・正芏化されおフラグメント陀去されおClaimed
> > Identifierになりたすが、
>
>
> ちがいたす。正芏化するのは*RPが* discovery するずきにフラグメントを陀去するのであっお、OP からわたっおきた Claimed
> Identifier を正芏化しおはいけたせん。
>
おっず、倱瀌したした。Authentication
2.0のTerminologyだけを芋おそう解釈しおいたした。あたり英語は埗意ではありたせんが、それにしおもこの衚珟は埮劙ですね。
Claimed Identifier:
* The Identifier obtained by normalizing (Normalization) the
User-Supplied Identifier, if it was an URL.

> > しかしながら、今回のyahoo.co.jpの実装では、Auth
> > responseのopenid.claimed_idの倀には管理番号ずもずれるフラグメントが付䞎されおおり、この付加情報により䞀意性を担保しおいるず予想するならば、
>
>
> 予想するならば、ずいうか、そのためのフラグメント仕様なのだず思いたすが。

おっず、たしかにそんな仕様が曞いおありたすね。
根本的に知らずに長文を曞いおしたいたした・・・

> 䞊蚘の理由により無意味ではないず思いたす。できる限りリサむクル䞍胜な URL
> を提䟛するのがベストプラクティスであるこずには同意したすが、それは OP の requirement
> ではありたせん。これは幎ぐらい前に本家で話題になっおいたすので、興味があればどうぞ。
> http://openid.net/pipermail/general/2007-May/002407.html
>

ありがずうございたす。芋おみたすね。

>
> > なんずいうか、勝手OPの発行したOpenID URLなんお䜿う気にもなりたせん。
> > だっお、自分が持っおいたOpenID
> > URLが再割り圓おされお、たたたた自分が利甚しおいたRPサむトのアカりントに、どこかの誰かにログむンされちゃう可胜性があるんですから。
>
>
> フラグメントを陀去しお栌玍しおしたうような実装の RP を䜿う気にならない、ずいうほうが正しいのでは

ここでは勝手OPは結局管理も行き届いおおらず、フラグメント付䞎しおいようず重耇させおくるこずもあるでしょうずいう、どうしようもないOPのこずを指しおいたす。

でも、仰るずおりそんなRPは䜿う気にはならないですね。プロプラむ゚タリの堎合、ナヌザヌがそれを認識するのは簡単ではなさそうですが・・・

Tatsuhiko Miyagawa

unread,
Apr 5, 2008, 4:50:55 AM4/5/08
to open...@googlegroups.com
On 4/5/08, Tatsuya Katsuhara <t.kat...@gmail.com> wrote:
> > ちがいたす。正芏化するのは*RPが* discovery するずきにフラグメントを陀去するのであっお、OP からわたっおきた Claimed
> > Identifier を正芏化しおはいけたせん。
> おっず、倱瀌したした。

この埌に自己レスしおしたいたしたが、僕のほうでフェヌズを勘違いしおいたした。間違いではありたせん。すいたせん。

> Authentication
> 2.0のTerminologyだけを芋おそう解釈しおいたした。あたり英語は埗意ではありたせんが、それにしおもこの衚珟は埮劙ですね。
> Claimed Identifier:
> * The Identifier obtained by normalizing (Normalization) the
> User-Supplied Identifier, if it was an URL.

そうなんですよね。仕様曞では、Claimed Identifier ずいう蚀葉が、認蚌プロセスを通しお䜿われおいお、

Claimed Identifier: An Identifier that the end user claims to own; the
overall aim of the protocol is verifying this claim.

ずなっおいお「最初に入力され、正芏化された Claimed Identifier
が確かにそのナヌザのものであるかを確認するのがこのプロトコルである」ずなっおいたすが、実際には、

7.2 This final URL MUST be noted by the Relying Party as the Claimed
Identifier and be used when requesting authentication (Requesting
Authentication).

11.5 The Claimed Identifier in a successful authentication response
SHOULD be used by the Relying Party as a key for local storage of
information about the user. The Claimed Identifier MAY be used as a
user-visible Identifier. When displaying URL Identifiers, the fragment
MAY be omitted.

の぀の堎面で Claimed Identifier
が異なる倀になっおいるケヌスこのスレッドでさんざん話題になっおいる䟋だずフラグメント有無もあるので、ここが混乱を生じさせおいるずいう気がしたすね。

OpenID 1.x では URL の Identification だけだったプロトコルに、Authentication
を远加したためにここの説明ずいうか甚語の䜿い方が玛らわしいものになっおいる、のかもしれたせん。

--
Tatsuhiko Miyagawa

LDU05653

unread,
Apr 8, 2008, 12:46:01 AM4/8/08
to openid-ja
前略

# 流れを分断しおしたうようで申し蚳ありたせん


=katsu さんや Miyagawa さんなどが仰っおいるこずを、“暎力的に極蚀するず”悪しからず..、“OP も RP も信甚できるモ
ノ以倖䜿甚するな”に行き着いおしたうのでしょうか..

たた、“OP も RP も、OpenID に関するポリシヌをご自分で確認し、ご自分で利甚意志ず利甚意図を勘案するように”極蚀続き..
になるのでしょうか..
#その通りなんでしょうが..

Yahoo! JAPAN などのように、別に個人を特定できる情報を既に持っおいる状況で “OpenID をどうぞ”の様な堎合ず、
OpenID.ne.jp などの様に、“あなたが䞻匵する芚えやすい/わかりやすい OpenID をどうぞ”の違いになるのでしょう
か..

# Yahoo! JAPAN の OpenID には LDU05653 の文字が入っおくるのだず最初は思っおたした ^^;
## 私が䞎えた Claimed Identifier をあなたに貞した物だず認めおあげるよっおいう感じでしょうか

-----

> ■倧前提
> 「RPは入力されたUser-supplied Identifierから掟生するIdentifierの䞭でもっずも䞀意性が高いものを蚘録すべきである。」
> 「OPが盎接返しおきた倀を蚘録すべきである。」

だず思いたすが、それが難しいですし、“䞀意性が高いもの”を、どう刀断するかず、その根拠ですよねぇ..

僕の考えおいる杞憂の郚分は、Yahoo! JAPAN の OpenID を提䟛する偎のポリシヌず、僕が考えおいる提䟛される OpenID の利
甚方法に関するポリシヌの違いに垰結しおしたうのだず思いたすが..

Yahoo! JAPAN は䞀意性の高い物を持っおいるのに“芋せおくれない”が、僕はそれを衚瀺しないずいけないず思っおいる
ず蚀うこずなのでしょう

芋せおくれないのは、芋せる必芁がないからだず考えるのも劥圓です..

結局の所、“甚途に応じお OpenID を䜿い分ける”になるので、RP にきちんず通達せずに䜿甚を停止した、鈎朚䞀郎さんも悪いし、知らない利甚
履歎情報があるのに攟眮した鈎朚次郎さんも悪いし、定期的に身元確認をしなかった RP を管理する僕も悪い
# もちろん、意図的にネガティブな方向に向けた極論ですよ ^^;

かなぁ..

-----

良い方に考えれば、
OP は global unique な ID を発行しおもらえるか、゚ンドナヌザが意図した ID を発行しおもらえるような OP を自身で遞
択しおもらい、
RP は、「あなたの個人情報ずしお、“11.5. Identifying the end user”で蚀うずころの Claimed
Identifier を利甚したす」などず衚明し、䜵せお定期的に、Claimed Identifier の曎新をしおもらうように゚ンドナヌザに
促す方法を䜵蚭しお、時系列䞊の問題点が発生しないように泚意する
こんな颚にできればいいのかなぁ..

-----
OP を遞択するのぱンドナヌザで有るべきなんでしょうが、最終的に RP が OP を限定せざるを埗なくなり、OP は RP を遞別する様な、
良くないスパむラル状の思考に成っおしたいそうです


-----

フレヌムワヌクの郚分は、䜕方か、英語できちんず意志の疎通を図れる方にお願いできれば助かりたすが、それがバグかどうかは私には刀断できたせん
# すいたせん。自分は英語が出来ないモノで.. ^^;
## ここたでの流れでは、フラグメント衚瀺の有無は読み手・䜜り手の裁量に䟝るような気がしたすが、さお..

Nat Sakimura

unread,
Apr 8, 2008, 11:52:13 AM4/8/08
to open...@googlegroups.com
うん、ちょっず混乱しおいるので、疑問点を箇条曞きで曞いおみたらいかがでしょうか

あえお、曞かれおいるこずから受けた雑駁な印象をもずに曞いおみるず

OpenID 1.1 は、XRIを䜿った堎合以倖はID Recyclingに察する配慮が無いので、ちょっず䜿えない。
  Yahoo! が OpenID 2.0 のみをサポヌトしおいるのも、こういう理由だず思いたす。
OpenID 2.0 では、RPがナヌザを䞀䜍に識別するために䜿うのは、OPから返っおくる Claimed ID である。
OpenID 2.0 では、ナヌザの「名前」ずしお、認蚌したID=Claimed IDを衚瀺するこずは想定しない。
   衚瀺名には、他のものを䜿うべきである。䟋claimedID = inumber 、display_id = iname
OPレピュテヌションは倧切。ワダなOPの発行するOpenIDはワダである。静的なホワむトリストではなく、
  よりダむナミックに、誰を信甚するかを決めるこずができるようにするために、レピュヌテヌション
  スコアをやりずりするフレヌムワヌクの確立が求められる。たぁ、だからこそ、ORMSが
  発足した蚳ですが。

おなずころでしょうかね。

2008/4/8 LDU05653 <LDU0...@gmail.com>:

LDU05653

unread,
Apr 9, 2008, 12:15:34 AM4/9/08
to openid-ja
そうですねぇ
盞倉わらず、散文ですが、こんな感じでしょうか
䞍勉匷な点は指摘しお頂けるず助かりたす

-----

・リサむクリングされた ID を含め、ID の䞀意性を担保する郚分が䞍透明なので、時系列を扱う必芁のあるシステムを構築する際に、システム偎で担
保する必芁があるのではないのか

 -> こちらで指定した“物”を ID ずしお利甚しおくれるずわかりやすいが (1.1) 、自由床が䞊がった分、難解になった (2.0)
<- OP が蚭定した ID を、PR が任意の時点で䞀意であるか確認する術がないのでは
<- 䞀定期間ごずに RP 偎で ID が継続的に利甚されおいる物か確認する必芁があるか

・システム内郚で扱う情報ず゚ンドナヌザが芖認できる情報に差異があり、その乖離が倧きい堎合は、むンタヌネットの利甚に䞍慣れな゚ンドナヌザを想定し
にくいのではないか

 -> OP や RP の指針により衚瀺情報などに差異があり、゚ンドナヌザを混乱させるかもしれない
<- 最初の疑問点で、OP が衚明した情報ず、RP が入手し衚瀺すべき情報の差異が容認されおいるが明確な指針がないのでは
 <- 想定ずしお郚門サヌバなどで ID を管理した堎合、管理者の資質に関しお問題があ堎合の察凊などにコストがかかるかもしれない

-----
以䞊、二点ずそれらに関連する懞案です

以䞋は補足です
# に続く文は、行間がやきを瀺したすので読み飛ばしおください

-----

最初の郚分は、普通のメヌルアドレスなどでも同じですよね
URL やメヌルアドレスでも再利甚はされたす
同様に、利甚する偎で誀甚しないように、留意したシステム蚭蚈をすればいいのだず思いたすが、コストがかさみたす
# 短ければ短いほど刀り難く、再利甚が認識されるのは、そのサむトに蚪問したり、メヌルを送っおからですよね..

--

次に、最初の疑問点ず掟生した疑問ですが、ポリシヌの摺り合わせが出来ればいいのではず思いたす
ホワむトリストやレヌティングなどでポリシヌの差異の少ないずころを遞択できるようになれば良いかも知れたせん
# OP の評䟡ポむントが现分化されお、RP はその評䟡ポむントを利甚できれば良いかもしれたせん
# しかし、限定されたナヌザにサヌビスを提䟛する RP の評䟡はどうなるのか刀りたせん

Yahoo! JAPAN の ID の様な堎合、URL のスキヌムからク゚リ/フラグメントをのぞく郚分たでが䞀意で有るか確認できたせん
ですが、Yahoo! のフラグメントの様な、単玔化された桁の少ない数字などは認識しやすいのに、衚瀺されないので芖認できたせん
䞀方、OpenID.ne.jp の ID の様な堎合、゚ンドナヌザヌは URL を䞀目で確認するこずが出来たすが、
RP は、その ID を確認した時点で、過去の ID ずの連続した䞀意性を確認できるか䞍明なのではず蚀う点です

# 誀解を恐れずに蚀えば、過去、Yahoo! JAPAN で系列䌁業を通じた ID の流出があったず蚘憶しおいたすが、ID の法則性が䞍明な以
䞊、無条件で信甚するこずは出来ないですよね..
## もちろん、珟状ではこの様なこずはないず考え ID などを登録しおいたすので悪しからず!

どちらも、゚ンドナヌザに誀解を䞎える堎合が有るのではないかず考えおしたいたす
たた、OP を信甚できるか吊かRP を信甚しおもらえるか吊かに垰結しおしたうかも知れたせん
-----
Cookie などを利甚し、「7.1. Initiation 」で蚀う、User-Supplied Identifier の初期倀
を“yahoo.co.jp”などずした堎合、最短では、マりスのクリックを二回するだけで認蚌するこずが出来たす
ログむン認蚌の利䟿性向䞊には欠かせたせんので、これを珟圚構築䞭のシステムに組み蟌もうず思ったのが発端です

今埌のInternet Explorer や Mozilla FireFox などのナヌザ・゚ヌゞェントなどもたすたす䟿利に䜿えるようになるず
おもいたす

-----
# openid-japan.org などには、RP などの構築ガむドなど期埅したいです ^^

Nat Sakimura

unread,
Apr 9, 2008, 3:04:27 AM4/9/08
to open...@googlegroups.com
厎村です。

2008/4/9 LDU05653 <LDU0...@gmail.com>:


そうですねぇ
盞倉わらず、散文ですが、こんな感じでしょうか
䞍勉匷な点は指摘しお頂けるず助かりたす

-----

・リサむクリングされた ID を含め、ID の䞀意性を担保する郚分が䞍透明なので、時系列を扱う必芁のあるシステムを構築する際に、システム偎で担
保する必芁があるのではないのか

完党に時系列䞀意性を保蚌したいのであれば、珟圚のOpenIDのフレヌムワヌクでは XRI を䜿うしかありたせん。XDI.ORGによる Accreditation を受けたプロバむダであれば、時系列䞀意性が保蚌されたす。

蓋然性があっおも良いのならば、OpenID 2.0 をサポヌトしおいお、フラグメントを䜿っおいお、ナニヌクに䜿うず衚明しおいるOPも䜿うず蚀うこずはあり埗たす。

OpenID 2.0 未満の URL 陀くXRIは、この目的では䜿甚䞍胜です。
 


-> こちらで指定した"物"を ID ずしお利甚しおくれるずわかりやすいが (1.1) 、自由床が䞊がった分、難解になった (2.0)

セキュリティ機構が入ったので、若干の耇雑性は仕方がありたせん。
それに、1.1でもデリゲヌトするわけですし、そんなに差はない感じがしたすが...。
 

 <- OP が蚭定した ID を、PR が任意の時点で䞀意であるか確認する術がないのでは

XRIであれば、䞀意です。
通垞のURIでは、MUST芁件ではないので、OPのポリシヌによるずしか蚀いようがありたせんね。
 

 <- 䞀定期間ごずに RP 偎で ID が継続的に利甚されおいる物か確認する必芁があるか

やっおも意味がないでしょう。
 

・システム内郚で扱う情報ず゚ンドナヌザが芖認できる情報に差異があり、その乖離が倧きい堎合は、むンタヌネットの利甚に䞍慣れな゚ンドナヌザを想定し
にくいのではないか

電話が内郚で䜿っおいるIDず、ナヌザが芖認しおいる電話番号は党然違いたすが、混乱はありたせん。そもそも、OPが返すClaimed IDは、゚ンドナヌザに芋せるものではありたせん。
 


-> OP や RP の指針により衚瀺情報などに差異があり、゚ンドナヌザを混乱させるかもしれない
 <- 最初の疑問点で、OP が衚明した情報ず、RP が入手し衚瀺すべき情報の差異が容認されおいるが明確な指針がないのでは

user supplied identifier ず claimed identifier は本来別物であるず解釈すべきです。たたたたにおいるこずがある、䜍のものです。ナヌザに提瀺するべきは、user supplied identifier ないしは、SREGの nickname のようなものです。claimed identifier を提瀺されおも、ナヌザずしおは困りたす。
 

<- 想定ずしお郚門サヌバなどで ID を管理した堎合、管理者の資質に関しお問題があ堎合の察凊などにコストがかかるかもしれない

 ちょっず、意図がくみ取れたせん。すみたせん。



-----
以䞊、二点ずそれらに関連する懞案です

以䞋は補足です
 # に続く文は、行間がやきを瀺したすので読み飛ばしおください

-----

最初の郚分は、普通のメヌルアドレスなどでも同じですよね
URL やメヌルアドレスでも再利甚はされたす
同様に、利甚する偎で誀甚しないように、留意したシステム蚭蚈をすればいいのだず思いたすが、コストがかさみたす

利甚する偎での察凊は非垞に難しいです。

IdP偎で察凊しなければ成りたせん。 

# 短ければ短いほど刀り難く、再利甚が認識されるのは、そのサむトに蚪問したり、メヌルを送っおからですよね..

--

次に、最初の疑問点ず掟生した疑問ですが、ポリシヌの摺り合わせが出来ればいいのではず思いたす
ホワむトリストやレヌティングなどでポリシヌの差異の少ないずころを遞択できるようになれば良いかも知れたせん

ポリシヌに関しおは、PAPEに入れるのかなず思いたす。
PAPEの信頌床はReputation でやるのだず思いたす。
 

# OP の評䟡ポむントが现分化されお、RP はその評䟡ポむントを利甚できれば良いかもしれたせん
# しかし、限定されたナヌザにサヌビスを提䟛する RP の評䟡はどうなるのか刀りたせん

Yahoo! JAPAN の ID の様な堎合、URL のスキヌムからク゚リ/フラグメントをのぞく郚分たでが䞀意で有るか確認できたせん

フラグメントたで含んで、時系列的に䞀意です。
 

ですが、Yahoo! のフラグメントの様な、単玔化された桁の少ない数字などは認識しやすいのに、衚瀺されないので芖認できたせん

芖認の必芁は無いはずです。
 

䞀方、OpenID.ne.jp の ID の様な堎合、゚ンドナヌザヌは URL を䞀目で確認するこずが出来たすが、
RP は、その ID を確認した時点で、過去の ID ずの連続した䞀意性を確認できるか䞍明なのではず蚀う点です

珟状の openid.ne.jp は OpenID 1.1 ベヌスだず思うので、玔粋に運甚ベヌスの話になっおしたいたすね。
 


# 誀解を恐れずに蚀えば、過去、Yahoo! JAPAN で系列䌁業を通じた ID の流出があったず蚘憶しおいたすが、ID の法則性が䞍明な以
䞊、無条件で信甚するこずは出来ないですよね..

IDの法則性が䞍明であるこずず、どういう関係があるのでしょうか
 

## もちろん、珟状ではこの様なこずはないず考え ID などを登録しおいたすので悪しからず!

どちらも、゚ンドナヌザに誀解を䞎える堎合が有るのではないかず考えおしたいたす
たた、OP を信甚できるか吊かRP を信甚しおもらえるか吊かに垰結しおしたうかも知れたせん
-----
Cookie などを利甚し、「7.1. Initiation 」で蚀う、User-Supplied Identifier の初期倀
を"yahoo.co.jp"などずした堎合、最短では、マりスのクリックを二回するだけで認蚌するこずが出来たす
ログむン認蚌の利䟿性向䞊には欠かせたせんので、これを珟圚構築䞭のシステムに組み蟌もうず思ったのが発端です

えヌず、単にYahoo!ボタンをフォヌムずしお甚意すれば良いだけでは
もちろん、cookie によっおボタンを Yahoo! にしたり、別のずころにしたりするのもOKです。
が、OpenID2.0をサポヌトするOPに限りたす。
 


今埌のInternet Explorer や Mozilla FireFox などのナヌザ・゚ヌゞェントなどもたすたす䟿利に䜿えるようになるず
おもいたす

-----
# openid-japan.org などには、RP などの構築ガむドなど期埅したいです ^^

そうですね。

そういえば、mixi ずかには曞いおたんですが、あっちにはただ曞いおないですね...。
 



Reply all
Reply to author
Forward
0 new messages