おととい、Yadisプロトコルを利用して、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> |
となってました。URIタグの中にあるテキストが、OP Endpoint URLなんですけど、OP Endpoint URLとは
エンドユーザが指定した識別子(User-Supplied Identifier)に対し行った発見行為(Discovery)で得たOpenID認証プロトコルのメッセージを容認するURLを示す。
via:OpenID Authentication 2.0
この値は必ず完全なHTTPかHTTPS URLでなくてはならない。
とつまり、OpenIDを使ってエンドユーザーログインするページのことだと判断しました。
OP Endpoint URLを使って間接通信を行おうと思います。
あと、ColdFusionでXMLをパースして、タグの直下にあるテキストを取得したい場合、XRDSを例にとると、
<cfset RetXML = XmlParse(cfhttp.fileContent)> <cfset ReqUrl = RetXML.xrds.XRD.Service.URI.XMLText> |
と最後に、XMLTextを書くのがポイント。
これを忘れてしまうとタグまで取得してしまい、思わぬところで、ハマルところになります。
(というかハマリました)
なので、注意したいっすね。
0 コメント:
コメントを投稿