2

私は現在、Contact Importer Webアプリ(PHP)に取り組んでいるので、GmailやYahooなどのユーザーのアカウントからメールアドレスを取得して、自分の悪意のある目的に使用できるようになります。冗談ですが、私のWebアプリはとてもフレンドリーです。

私はグーグルから始めようと思った。私のようなプログラマーがユーザーの連絡先にアクセスできるようにする、GoogleコンタクトAPIと呼ばれる素晴らしい小さなAPIがあることがわかりました。

数時間苦労してくだらないコードを一緒に投げた後、私はいくつかの障害に遭遇しました。私の主な質問はこれです:

ユーザーに自分のウェブサイトでGmailのユーザー名とパスワードを提供させ、Googleログインページへの厄介なリダイレクトなしにコードに連絡先を取得させる方法はありますか?それは私のウェブアプリの流れ全体を台無しにするようなものです。

私はAuthSubを調べて、それが機能するようになりましたが、もちろん、アクセストークンを取得するためにユーザーをリダイレクトする必要があるという問題があります。OAuthにも同じ問題があるようです。

私が持っている希望の1つは、ClientLogin認証方式です。繰り返しになりますが、落とし穴があります。Googleが認証トークンの代わりにCAPTCHAをスローすることがあります。この場合も、ユーザーフローは台無しになります。

Twitterにいる私たちの古き良き友人たちがそれをうまく機能させていることに気づきました。誰かがそれをどのように行うか知っていますか?

ありがとう!

4

1 に答える 1

7

バグではなく機能を特定したと思います。OAuth の要点は、ユーザーがあなたのようなサードパーティのサイトにパスワードを入力できないようにすることです。これにより、ユーザーは Google ログイン ページを見ているときにのみ Google パスワードを入力することを学ぶことができ、あなたが勝ったと信じる必要がなくなります。パスワードを保存せず、それを使用してすべての電子メールを読みます。

Web アプリのフローに小さな中断が生じますが、OAuth は一般的にコールバックを提供するため、実際には大きな中断にはなりません。引き換えに、ユーザーはより安全に感じることができ、ユーザー パスワードを保存 (および破棄) しなければならないという問題を回避できます。

要するに、これを回避することはできないと思います。Twitterが現在それを許可しているのは事実ですが(ユーザー名とパスワードが直接送信される「基本認証」)、この機能はこの夏までに廃止される予定です.

于 2010-03-20T09:50:11.043 に答える