« 甲虫王者ムシキング 2005ファースト オフィシャルグッズ(BlogPet) | トップページ | 創聖のアクエリオン 公式同人誌 »
2005.06.20
ココログの Atom API の現状確認 - TypePad 1.5 移行でどうなったか
結論を先に書くと、「変わっていません」。つまり、Atom API の WSSE が2方式あるうちの type-A のままでした。MovableType は 3.17 (3.16から?) で type-B になったことが確認されているので、TypePad も 1.5 で追随したのかと思いきや、追随してないことがわかりました。
技術日記 - こせきの技術日記: Atom APIのWSSE認証について
- PasswordDigest = base64(sha1(Nonce . Created . パスワード)) … (type-A)
- PasswordDigest = base64(sha1(base64_decode(Nonce) . Created . パスワード)) … (type-B)
ということで、依然として、クライアントは両方式をサポートし続ける必要があります。
こせきの日記: AtomAPI X-WSSE認証ヘッダジェネレータ
- TypePad Atom API
- ちなみに↑このTypePadの仕様に出てるサンプルは正しくないです。
残念ながら、TypePad 1.5 では、依然としてこせきさんが言うところの「正しくない」仕様で実装されたままになっています。
ユーザ名: bob / パスワード: alice の場合の例 X-WSSE: UsernameToken Username="bob", PasswordDigest="ODFytFfPWIKvAKKEV5GeDoCOPD4=",Created="2005-06-20T01:55:02Z", Nonce="41ccf60131caea7eeb21c7e197413d48825c736d"
当分、TypePad はこのままなんだろうなぁ。同じ Six Apart の製品なんだから、どこかのタイミングで統一するとは思うんですが、いつになるのでしょう?
*** 2005年6月20日 15時3分 追記 ***
miyagawaさんからつっこみが入った ので、type-B でも通るかどうか、確認してみました。確かに、type-B でも通りますね。ということで、TypePad 1.5 では、type-A、type-B どちらでも通るようです。お騒がせしました。
ユーザ名: bob / パスワード: alice の場合の例 X-WSSE: UsernameToken Username="bob", PasswordDigest="/+Q+0IACX241N1Gyx3rhy5rAifg=", Nonce="MmQ2Y2NjMDEzMWNhZWEzZjBkNWM=", Created="2005-06-20T06:06:04Z"
関連記事: ココログと livedoor Blog の Atom API の違い
投稿者: tsupo 2005.06.20 午前 10:42
| 固定リンク
|
|
|
|
|
アマゾンわくわく探検隊
トラックバック
この記事のトラックバックURL:
この記事へのトラックバック一覧です: ココログの Atom API の現状確認 - TypePad 1.5 移行でどうなったか:
» Atom API による記事の投稿・編集 from 観測気球
TypePad でも記事IDを指定しての過去記事編集(PUT)が使えることがわかりました。TypePad の Atom API 仕様書を現状に合わせて update していただけると助かります。 続きを読む
コメント
いえ、TypePad では両方をサポートしているはずです。
当初の仕様書が曖昧であったために、type-A を送信してくるクライアントも存在するため、両方の方式をサポートしています。
IETF に移ったAtom PP では、WSSE認証を使用せず HTTPS + Basic 認証となるので、この問題は後方互換の対応ということになります。
投稿者: miyagawa (2005.06.20 午前 11:58)
どもBlogWrite担当です。
>IETF に移ったAtom PP では、WSSE認証を使用せず HTTPS + Basic 認証となるので
でしたっけ?
単にBloggerが先走ってHTTPS + Basic 認証にしただけで、IETF(ドラフト的&WGコンセンサス)としてはまだ決定事項はないと考えていましたが..。
現在最新のドラフト04には、「HTTP Digest Authentication and/or [@@TBD@@ CGI Authentication]」とあり、HTTPS + Basic 認証の言及は、digestまたはbasicという表現だけでした。
ですから、WSSEが完全になくなる事が決定されたとはまだ言えないのではないかと。
少なくとも、複数の認証方法がサポートされるはずです。でないと、CGIとして動くブログ(MTとか)ではHTTPS(SSL)出来ないので、問題となってしまいます。
投稿者: BlogWrite担当 (2005.06.20 午後 02:34)
より正確にいうと、Atom 自体に独自の認証スキームは定義せずに、既存のHTTPで利用できるBasic/Digestを使おうということだと認識しています。WSSE もオプションとして利用することは可能になりますが。
ちなみに CGI ベースであることと SSL や Basic/Digest 認証が必要であることはバッティングしません。http://www.imc.org/atom-protocol/mail-archive/msg00057.html
投稿者: miyagawa (2005.06.20 午後 03:03)
たびたびどもです。
ふと思い立って、ココログでAtomAPIを使ってBlogWriteから投稿してみました。
結論的には、認証はOK。しかし致命的な不具合があります。
service.postへのPOST
service.feedへのGET
いずれも、返り値のXMLが尻切れトンボになっていました。
ちょうど、
//entry/link@title
//feed/entry/link@title
の所で。(前者は、entryタグのlinkタグのtitleアトリビュートの文字列の途中)
あと、contentが日本語だとBASE64でエンコーディングされてしまっています。
さらに言えば、改行付きのHTMLにさらに改行を入れてしまって、HTMLが崩れるのは以前と同様です(管理画面で自動改行をオフにしないとダメな模様)。
投稿者: BlogWrite担当 (2005.06.20 午後 03:15)
#入れ違いになってしまいました>miyagawaさん
>より正確にいうと、Atom 自体に独自の認証スキームは定義せずに
そうです、そういう風に認識しています。なので、「IETFでのAtomPPの認証はWSSE認証を使用せず HTTPS + Basic 認証となる」という表現に、あれ?っと思った訳です。
投稿者: BlogWrite担当 (2005.06.20 午後 03:30)
ご報告ありがとうございます。が、不具合等はこちらでは対応しかねますのでニフティさんまでご連絡ください。あしからず。
改行をいれる・入れないは content の mode で判別させるのがよい気がしますね。
投稿者: miyagawa (2005.06.20 午後 06:03)
GET http://app.cocolog-nifty.com/t/atom/weblog を実行すると、尻切れトンボな XML が返ってきますね。何回やっても同じところで切れるので、再現性100%。
あと、記事の投稿を Atom API 経由でやったら、カテゴリが未設定のままになってしまいました。一方、記事の削除は問題なく実行できました。
ということで、以前よりはだいぶ使える感じにはなりましたが、以前は尻切れトンボになるなんてことはなかった(十分、テストされてない?)ので、結局、Atom API より XML-RPC API を使った方がいい、という状況は変わりません。がっかり。
投稿者: tsupo (2005.06.21 午後 12:15)
もう1つ気付いたこと。Atom API で過去記事を取得しても <dc:subject> が XML 中に含まれないので、カテゴリが取得できません。orz
投稿者: tsupo (2005.06.21 午後 03:24)