OAuthを利用しているサービスを体験してみる
色んな本が出ているが初めてOAuthやOIDC(OpenID Connect)に触れる人にはアーキテクチャの世界観が掴みにくい。
実サービスで体験してみてシーケンスを見てみて、コードに落とし込み、少しずつ理解をしてくための備忘録。
早速、OIDCもOAuth2.0もコードもシーケンスも忘れて、まずは実際に認可の仕組みがどのように使われているのか体験してみる。
この記事の内容
このQiitaのサイトを使って認可を得るということはどういうことなのかを体験してみる。
具体的には、TwitterがQiitaに私のアカウントにアクセスして良いよという認可を与えることで、Qiitaは私のX(Twitter)に記事を投稿できるようになる。
1.アカウントの準備
- 1.Qiitaのアカウントを登録しログインする。
- 2.Twitterのアカウントを登録しログインする。
- 3.Twitterのアカウントからログアウトしておく。(今回は認可を与える一連の流れを細かく体験するため、一度ログアウトしておく)
2.確認手順
- 1.Qiitaの設定画面を開き、アカウントタブの「X(Twitter)を設定」を押下。

- 2.ユーザー名またはメールアドレスとパスワードを入力し、「連携アプリを認証」を押下。
- この画面のURLはあくまで認可を与える側のサイトのURLであることを確認できる。
- アカウントでツイートをできることを許可する文言が入っていることを確認できる。

- 3.画面がQiitaに自動でリダイレクトされると、X(Twitter)のアカウント名が表示されている。

- 4.記事をQiitaで作成し、記事公開時にX(Twitter)で共有するにチェックを入れて記事を投稿する。


- 5.Twitterの自分のタイムラインを見ると、先ほど投稿したQiitaの記事のURLがX(Twitter)にも投稿されていることを確認できる。

- QiitaはTwitterより私のアカウントでツイートする許可を貰ったので、私のX(Twitter)アカウントで投稿を行えた。
まとめ. 行なったことのイメージ図
(参考)
TwitterはOAuth 1.0aメソッドを利用しているため、OAuth2.0のフローとは異なる。
しかし、認可を与えるという行為自体は同じであり、そのための理解として今回はQiitaとX(Twitter)を利用して体験を行なった。
続きの記事は多くのクラウドの認証サービスで使用されているOAuth2.0を元に進めていくので、OAuth1.0については深掘りしない。
OAuth 1.0の説明はこちらを参考。
https://atmarkit.itmedia.co.jp/fsmart/articles/oauth2/01.html