🏯
Emacs magit で forge をセットアップするとき secret service を使う方法
magit には forge という拡張があって GitHub や Gitlab などから Issue や Pull Request なんかの情報を取得したり、新しく Issue や PR を作ったりできます。
認証部分のセットアップがよくわからなかったので、調べてうまくいった方法を記録しておきます。
forge が使う認証は Emacs の標準で付いている auth-source という仕組みを使っています。
ファイルを使う方法は forge から辿れるドキュメントにも書いてあったのですが Linux の Secret Service を使う方法は書かれていませんでした。
ちなみに KeelPassXC のシークレットサービス統合を有効にしている状態です。そうでない場合は以下の keepassx
の部分を書き換えてください。*scratch*
で実行すればよいです。
(secrets-create-item "keepassx" "[label]" "ghp_xxx" :user "[username]^forge" :host "api.github.com")
-
[label]
は任意のラベルです。わかりやすい名前にしておきましょう。 -
ghp_xxx
の部分は GitHub の API token です。ドキュメントに書いてある権限を付与しましょう。- 自分は定期的に更新するのが面倒だったので classic PAT にしました
-
[username]
は GitHub の login です。 -
[username]
の後ろに付いている^forge
は固定です。
確認方法は以下の通りです。
(secrets-get-secret "keepassx" "[label]") ; 登録した API token の確認
(secrets-get-attributes "keepassx" "[label]") ; API token 以外の属性の確認
参考:
Discussion