トピック コミュニティトップへ戻る OAuth認証に対応して欲しい 現在APIの利用はBasic認証ですが、OAuth認証に対応して欲しいです。 2010年4月6日 09:41 カメ (2) コメント それは認証のためだけにOAuthプロトコルに対応してほしいというニーズですか? それとも、フォト蔵をどこかのOAuthプロバイダに対するコンシューマにしてほしい、あるいはその逆、というニーズですか? 前者であればOAuth認証、クレデンシャル委譲は明かにオーバースペックです。 Basic認証のような認証とは言えない実装はやめてほしい、というニーズであれば賛同します。 ですが、それでもWebアプリケーション間の連携を想定しないのであれば、OAuthはオーバースペックだと思います。 2010年6月17日 19:40 退会ユーザー ん?それとも自前でサーバを用意したり、Amazonのs3をプラットフォームにするなどして、個人でWebサービスを立ち上げるから、OAuthプロバイダとしての機能を持ってほしい、という話? もしそうなら夢が広がりますね。 2010年6月17日 20:20 退会ユーザー 私も、もっとセキュアな認証に対応して欲しいですね。 2010年7月6日 11:57 u1 frame (0) API経由はtwitterのOAuth認証に対応するという方法もあります。ユーザによるtwitterとの連携は必須ではないけれど(コンシューマ側のサービスで選択できるようになってる)、そのように実装しているWebサービスも存在します。 twitterのOAuth認証の場合は現時点では、一度tokenが発行されたらtokenの有効期限は無期限なので、セキュアではありません。 また最低でもSSL暗号化は必須になります。SSL通信でないと認証情報や委任情報が素でネットを流れるので、どのみちセッション・ハイジャックの危険性があります。 とは言ってもSSLを使うかどうかはセキュリティ・ポリシー次第なので、認証情報やセッション管理情報がネット上に素で流れても良いというセキュリティ・ポリシーであれば不要かもしれません。 2010年7月7日 09:24 退会ユーザー 実際にフォト蔵さんのWebページではログイン時のデフォルトはhttpです。ログイン時にSSLも選択でるようになっていますが、なぜフォト蔵さんがSSL暗号化ログインをサポートしているのか、その意味を大半の人が理解していないでしょうし、認証がすんだ後のセッション情報のやりとりがhttpで行われている以上、中間攻撃者によるなりすまし攻撃が可能なので無意味です。 どのみち cookieを利用したセッション管理のような、なんらかのセッション管理が必要となります。この時点で少なくはない携帯がサポート対象外となります。もちろんxmlやjsonでセッション情報をやりとりしても良い訳ですが。 tinamiというCG系のSNSのAPIでは、tokenの有効時間を決めて、その時間をオーバーするとセッションを切断、コネクションの解放等を行う実装になっているようです(ドキュメントに書かれています)。 ただし通信はhttpなので、ネット上に素のユーザID、パスワード、認証用トークン、セッション情報が流れてます。なりすましが可能である以上、当然セキュアとは言えません。 2010年7月7日 09:42 退会ユーザー 仮に私がプロポーザルを書くとすれば以下のような感じになると思います。 ・フォト蔵の全通信のSSL暗号化 ・現在のBasic認証上にtoken発行の仕組みを仮実装 クライアント側はAPIコール後XML内に謎の文字列を受け取る(これが将来のtoken) ・Auth認証の実装 ・各APIでのtoken必須化(tokenの有効期間を設ける) ・Basic認証とAuth認証の移行期間を設ける(twitterと同様) ・以上を3年計画で実施する 個人的には、フォト蔵のような決済がからまないサービスであれば、最初の完全SSL暗号化にするだけで十分のような気がします。 2010年7月7日 10:21 退会ユーザー すません訂正させてください。「個人的には、フォト蔵のような決済がからまないサービスであれば、最初の完全SSL暗号化にするだけで十分のような気がします。」と書きましたが、これでは困ることに気がつきました。 なにが困るのかというと、作成したクライアント・ソフトでユーザが入力したメールアドレス、パスワードと、Basic認証のダイアログで表示されるメールアドレス、パスワードが食い違うことが、現状では普通にあります。 これは困ります。OAuth認証でなくてもかまわないので、やはりちゃんとした認証の仕組みの導入を求めます。 2010年7月12日 10:37 退会ユーザー コメントを書いてみませんか。 無料のユーザー登録をするか、ログインしてください。