ユーザーの各情報へのアクセス権限を得るには事前にアプリをユーザーに承認して貰う必要があります。
一連の流れをデモするExampleプロジェクトがGithubにあります。
https://github.com/obniz/obniz-webapp-example-oauth
承認の流れ
- 承認URLをユーザーに開いてもらう
以下の承認用URLをユーザーに開いてもらいます。
https://obniz.com/login/oauth/authorize?webapp\_id=wa\_NDI=&redirect\_uri=install webapp_id: あなたのアプリのid
redirect_uri: 承認完了時にredirectするurl redirect_uriに'install'を設定した場合ユーザーは承認後あなたのアプリをインストールするための画面に遷移します。 - codeからTokenの取得
redirect_uriに自分のサービスのURLを設定した場合codeというqueryがついたリクエストが届きます。
このcodeを利用してこのユーザーに対するOAuthTokenが取得できます。
以下のURLにPOSTリクエストを送ります。
https://obniz.com/login/oauth/token?code=${code}
レスポンスの中に含まれるtokenがこのユーザーのtokenとなります。
APIの利用
取得したOAuthTokenを利用してAPIが利用できます。詳しくはobnizクラウドAPIを御覧ください。
権限の変更
ユーザーがあなたのアプリを承認後、あなたのアプリの権限が変更された場合(repositoryがreadだったのがfullになった)も、ユーザーの承認は以前の状態のままとなります(readのまま)。その場合ユーザーには一度承認を削除してもらい、再度承認して貰う必要があります。
承認の削除
ユーザーはいつでも承認を削除することができます。削除された場合tokenは無効となり、仮にユーザーが再度承認したとしてもtokenは異なる値となります。