岩本隆史の日記帳(アーカイブ)

はてなダイアリーのサービス終了をうけて移行したものです。更新はしません。

トランザクションリソースは「短時間限定で存在するURL」で

先日の日記に頂いたid:shinichitomitaさんのコメントで、私の言いたかったことが「ワンタイムURL」という一言で表せることに気づいた。

なるほどと思い「ワンタイムURL」でググると、id:kmachuさんの「非公開URLとワンタイムURLは違う - まちゅダイアリー(2007-08-23)」という記事に行き着いた。ああそうか。正確にはワンタイムではないのか。リソースが削除されるのは、トランザクションが終了するか、一定時間経過するか、いずれかのタイミングだから。じゃあ「非公開URL」と表現すればよいのか。

と納得しかけたら、id:HiromitsuTakagiさんのブクマコメントが目についた。ありゃりゃ。「非公開URL」というのも不正確なのか。「短時間限定で存在するURL」なんだな。

まとめます。

RESTとOpenID丸投げ認証を組み合わせる場合、下記のような設計が考えられる。

  • IdPからのコールバック後、トランザクションリソースを作成し、そのURLをLocationヘッダで返す
  • このトランザクションリソースには認証なしにアクセスできるが、「短時間限定で存在するURL」とし、他者のアクセスを極力排除する

なぜRESTとOpenID丸投げにこだわるのか。

  • RESTを知ってしまったから(REST以外の選択肢が考えられなくなった)
  • OpenIDに認証を丸投げすることで、ユーザ登録不要なサービスが作れるから

おら、ワクワクしてきたぞ。