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を使ったほうがよさそうです。よりセキュアなので。

参考サイト

Tatsumi0000

Written by Tatsumi0000 モバイル開発が好きなエンジニアのブログです. GitHub

Copyright © 2023, Tatsumi0000 All Rights Reserved.