curlを使ってGitHubで発行したPATの作成者とスコープを確認する
2023-02-07
はじめに
GitHubにログインするためだったり、privateなライブラリを参照するためにPAT(Personal access tokens)のTokens (classic)を発行することがあります。きちんと管理していればいいのですが、PATのトークン文字列はわかるけど、発行したアカウントと持っているスコープ(権限)を忘れたりすることがあります。だってにんげんだもの。
そんなときはcurlコマンド(別にcurlじゃなくてもいいけど)でAPIにリクエストを送れば誰が作成したかとスコープが返ってきます。会社の方に教えていただいたのですが、 初めて知ってすごく便利で感動しました。(これがいるだけで成長できる環境か…と思いました)
確認方法
発行したアカウントについては以下のコマンドで確認できます。
発行したアカウントの確認
curl -H "Authorization: Bearer <PAT>" \
https://api.github.com/user
これで、返ってきたレスポンスに書かれています。
スコープについては↑に-I
をつけることで確認できます。
スコープの確認
curl -H "Authorization: Bearer <PAT>" \
https://api.github.com/user -I
返ってきたレスポンスヘッダのx-oauth-scopes
にスコープが書かれています。-I
はレスポンスヘッダを確認するオプションです。
スコープの例
x-oauth-scopes: repo, workflow
有効でない(Revokeした)トークンでリクエストを送ると、Bad credential
が返ってきました。
最後に
これを使って確認 をすることで、安心してPATを使うことができました。
けど、基本的にはPAT(Tokens classic)は使わずにGitHub Appを使ったほうがよさそうです。よりセキュアなので。