誰にも頼まれてないのに次世代Identifier用語集を勝手に定義してみた
前口上
最近、OpenID系のお仕事をしてたわけですが、OpenIDではなんちゃらIdentifierってのが多すぎて、はっきりいってわけわかんないです。
というか、仕様書に書いてあるIDの定義を読むと、なぜだかソワソワ、イライラしてくるのは僕だけ?
せっかくなので、その原因を自分なりに考えてみます。
OpenID2.0で定義されてるID達
まずは、ソワソワ/イライラの対象を整理してみます*1。
- (A)User-Supplied Identifier
- (B)Claimed Identifier
- (C)OP-Local Identifier
- (D)OP Identifier
(A)User-Supplied Identifier
ユーザが入力したID。入力したものかどうかを表す修飾語的なものなので、(A)かつ(B)とか、(A)かつ(C)とか、(A)かつ(D)、というのもあり。
"User-Supplied"という修飾語のところだけ重要。
つか、こんなのを仰々しく用語定義する必要はあるんでしょうか。(B)〜(D)と同列のなにやら具体的な存在としてのIDと勘違いして混乱してしまったんですが。
(B)Claimed Identifier
ユーザが「これ、おれのIDだかんね!」と主張するID。
主張してるかどうか*2だけが決めてなので、OPとは無関係な独自URLでもいいし*3、とあるOPが発行してくれるOP-Local Identifierだって、"Claimed"になりうる。
(C)OP-Local Identifier
とあるOPが内部的に使用するID。内部的に使用しつつ、ユーザに開示してもいい。
とりあえずOPがOP上の処理で対象ユーザをユニークに特定するときはこのID使ってるよ、ってとこだけが重要。
なんで気持ち悪いんだろう?
うーんうーん。
気持ち悪く感じるのは、上記のオーソライズされたID群が、OpenIDの世界におけるIDという概念をMECEにカバーしきっていない(少なくとも自分はそう感じる)、という点から来てるんじゃないかと思ってきました。
なので、勝手にオレオレID群定義をして、ちょっと自分を慰めてみます。
OpenID仕様:オレオレ用語集
- 誰のIDか、という観点における用語。すべてのIDは以下のいずれかに分類される。
- OP Identifier
- とあるOPを識別するID。(これはオリジナルのまま)
- User Identifier
- とあるユーザを識別するID。OpenID仕様に基づいてどこか1つ以上のOPによって認証処理が可能でなければならない。
- OP Identifier
- User Identifierを誰が提供しているか、という観点における用語。すべてのUser Identifierは以下のいずれかに分類される。
- OP-Local User Identifer
- OP上でOPの都合のために使われるUser Identifier。OPの外に開示してもよい。あくまで管理はOP側の責務。(オリジナルのOP-Local Identifierを改名)
- Third-Party User Identifier
- OP, User以外の第三者によって提供されるUser Identifier。
- Self User Identifier
- ユーザ自身が管理する独自のUser Identifier。
- OP-Local User Identifer
- ユーザへの開示/未開示、という観点における用語。すべてのUser Identifierは以下のいずれかに分類される。
- Explicit User Identifier
- ユーザに開示されている利用可能なID。
- Implicit User Identifier
- 処理の途中で過渡的に使用されるなど、ユーザに対して明示されないID. ユーザに開示されないOP-Local User Identifierなどが該当する。
- Explicit User Identifier
- 使用頻度、という観点における用語。
- Regular User Identifier
- 通常、主に使用されるユーザID。
- none
- 補集合に対する用語定義は特に意味がないので省略。
- Regular User Identifier
- シーケンスにおいてどこで使用されるか、という観点における用語。
- User-Request Identifier
- リクエストで指定していることを指す。
- Discovered Identifier
- ディスカバリで発見されたID.
- Delegated Identifier
- User-Request Identifier ≠ Discovered Identifier の場合に、発見されたDiscovered Identifierを特にこのように呼ぶ。
- User-Request Identifier
とりあえず、こんな感じだったら納得度が高いんだけどなぁ。個人的には。
まとめ
OpenID2.0の用語集がなんか気持ち悪い。
↓
オレオレ用語集を策定する。
↓
だんだん気持ちよくなってくる。(´Д`;)ハアハア ←今ココ
↓
OpenID3.0でオレオレ用語が正式に採用になる。
↓
Identity管理のご意見番として君臨。
↓
アフィリエイトでがっぽがっぽ。
↓
(゜Д゜)ウマー