OAuth2.0の仕組みがわかってきた。OneDriveAPIもAmazonCloudDriveAPIもGoogleDriveAPIも、これが分かればなんてこと無い。
このサイトが分かりやすかった。
上図でいうところの、③認可コード をまずは取得する必要がある。そのためには、図にある「クライアント」にあたるWEBサーバが必要だ。それには自宅サーバを使う。自宅サーバから①認可・認証画面の表示要求(getCode.php) をマイクロソフトの認可サーバに投げて、②ブラウザでマイクロソフトの認証IDとアカウントを入力すると、認可サーバから③認可コード(code)が返ってくる。まずはここまでを実装し、codeの取得を目指す。
GoogleのOAuth2.0で全く同じことをしている解説があった。
これを参考に作る。
getCode.php
※ implode(' ', $scope) のように、implode()の第1引数に半角を指定すると、配列をつなぐときには半角プラス文字 + にして繋いでくれるようだ。
早速実行してみる。自宅サーバに置いた getCode.php を叩くと…
同じ場所にリダイレクトされるから、一見何も変わっていないように見えるが、アドレス欄を見ると code が返ってきている。
これで一段落。次はこの code を使って access_token を取得する。
参考サイト