backlog の認可の仕組み
0時に寝て6時に起きた。
backlog の oauth 2.0 の仕組み⌗
ユーザー単位の API キーの他、oauth 2.0 の認可の仕組みもある。OAuth Grant Types は Authorization Code と Refresh Token の2つをサポートしている。
手順はざっくりこんな感じ。
開発者向けのサイトからアプリケーションを作成して認可コードのリクエストを送る。
https://YOUR-SPACE.backlog.com/OAuth2AccessRequest.action?response_type=code&client_id=xxx&redirect_uri=http://localhost:18080/callback
リダイレクト先に query='code=zzz'
な認可コードが届く。それを使ってアクセストークンを取得する。
{'access_token': 'xxx',
'expires_in': 3599,
'refresh_token': 'xxx',
'token_type': 'Bearer'}
有効期限が1時間のアクセストークンを取得できる。次のようにして認証をパスできる。
$ curl -s -H "Authorization: Bearer xxx" 'https://YOUR-SPACE.backlog.com/api/v2/space'
基本的にはユーザー単位の認証しかなくてアプリケーションアカウントの運用はできないみたい。backlog の課金プランをみると、基本的にはユーザー無制限っぽいのでアプリケーションアカウントを一般ユーザーで作成すれば、運用上問題にならないからアプリケーションアカウントを設けていないのではないかと思う。お手伝い先の管理者にインテグレーション向けの専用ユーザーを作成して API キーを github の secrets に登録してほしいという依頼を出した。
Read other posts