最近、色んなサービスの認証シーンでOAuthをよく見かけます。例えばTwitterのアカウントを使って、全く別のマッシュアップサービスを使うような場合に使われていて、ユーザの予期せぬ権限委譲が話題にもなりましたね。 ところで普通OAuthと言うと、Provider(Twitter), Consumer(マッシュアップサービス), Userの3者間で認証を行うものだと思っていたのですが、実はProviderとConsumerの2者間での認証に使われる場合もあります。 前者は3-legged OAuthやOAuth Coreと、後者は2-legged OAuthとかOAuth Consumer Requestと呼ばれているようです。ここでは後者の認証をpythonでやります。 (※)以下の2-legged OAuthは署名アルゴリズムにHMAC-SHA1を使っているものとします。(他のアルゴリ