私たちは、以前に HOW2.WORK で、私たちのサービスのパスワードを他のサイトに渡すことの問題と、他のサイトに与えると悪用される可能性があることについて話しました。
最近ではTwitter上で連携し、2つのアカウントで同時に公開するなど、本家サイトではできない機能を実現するサービスも数多く登場しています。 Twitter の仕組み上、現時点では、これらのサービスが正しく動作するためには、ユーザー名とパスワードをサービスに提供することが不可欠です。
問題は、一度ユーザーに権限を与えてしまうと、少なくとも Twitter がCookieに基づいて現在のアクセス制御を変更するまでは、アカウントの制御を取り戻すことが不可能になる可能性があることです。私たちがページにアクセスし(またはこれらのサービスのいずれかがアクセスすると)、ユーザー名とパスワードで自分自身を識別すると、Twitter はその瞬間から使用できるCookie を返します。
しかし、そのCookieの有効期限は非常に長く、主な問題は、パスワードが変更されても無効にならないことです。したがって、 Cookieがある限り、サービスは当社の Twitter アカウントにアクセスし続けることができます。
さらに悪いことに、アプリケーションが本当に悪意のあるものであれば、アカウントが失われる可能性さえあります。サービスに登録されている電子メール アドレスを変更し、パスワードのリセットをリクエストするだけで、その電子メールを受信したら新しいパスワードを有効にすることができます。
理想的には、Twitter は、Web サイトからのアクセスには使用されず、その目的のみに使用されるキーを介して機能する API を提供することになります。それまでの間、推奨される解決策は、外部サービスにパスワードを提供しないことです。
経由 |ブライアン・シェイラー