ようこそここは俺のチラシの裏だ。

専門学校卒のぽんこつえんじにあが個人事業主になって書いているただの日記。

【備忘録】OAuth認証の勉強中、参考にしたページまとめ。

前段

先週のお勉強の続き。

sugaryo1224.hatenablog.com

sugaryo1224.hatenablog.com

最近になって漸く Rest APIOAuth認証 について勉強し始めた話。

目標

C#からTwitterAPIを叩く。

要点だけ書くとこれだけ。

先の日記でも書いたけど、認証不要のシンプルなAPIlivedoorのWeatherAPIを使用)を叩くだけならすぐできた。

TwitterAPIを叩くには今後OAuth認証が絡んで来ると思われるので、この後はまずOAuth認証のお勉強をするつもり。

OAuthのお勉強で参考にしたページ

OAuthとは?

qiita.com

ここが全体概要をざっくり掴む上で非常に解り易かった。

要するにあれね、サーバー証明書みたいな感じね、っていうふわっとした理解を得た。

その次に読んだもの

先のQiita記事からリンクの張られていたもので、図示されていたOAuth認証部分の細かいフローを説明したもの。

OAuth認証では以下の4フローが規定されているらしく、その中でのHTTPでのやりとりについて説明されている。

  1. 認可コードフロー
  2. インプリシットフロー
  3. リソースオーナー・パスワード・クレデンシャルズフロー
  4. クライアント・クレデンシャルズフロー

※先に読んだやつは非技術者向けの説明記事だったけど、こっちはモロに技術者向けでいきなり内容が濃くなるから注意。

qiita.com

それにしても リソースオーナー・パスワード・クレデンシャルズフロー って究極魔法感あって好き。

ここまでざっくり読んで

今回は、Twitterの開発者ページ(改め、アプリケーション管理ページ)で、既に api-key/access-token を発行している状態なので。

はて、若しかしてこれ、OAuth認証のお勉強要らないのでは・・・?

と言う事に気付いた。

まぁでも、お勉強する事自体は無駄では無いので、これはこれでこのまま進めよう。

C#でのOAuth認証実装の参考ページ

Google OAuthBase.cs

Google Code Archive - Long-term storage for Google Code Project Hosting.

ググると間違いなくヒットする有名な OAuthBase.cs なんだけど、今は入手できないらしい。

OAuthBase.cs からの参考実装

d.hatena.ne.jp

こちらの記事が、参考実装らしいので参考になる。

OAuthBase.cs 派生実装と、GitHub Gist

kuroeveryday.blogspot.jp

これが派生実装及びその説明と、ありがたい事に今は入手できなくなった OAuthBase.cs を保存して Gits で公開してくれている。

ありがたや、ありがたやー。

という事で、この後はこれらの実装をコードリーディングしてお勉強。