keyring-rsで、Macのキーチェーンに登録する。
2025.04.04

どもです。
Switch2が発表され、抽選申し込みが開始されましたが、アクセス集中で全然だめです。
というわけで、最近 社内のGUIツールをTauriで開発しており、GitHub連携や何やらを行っているのですが、その際にGitHubのパーソナルアクセストークンをどこに保存しようかなと言うところで、「キーチェーン」に登録することにしたので、Rustのクレートである keyring-rs を使うことにしたのですが、何度行っても上手くいかず。
特にエラーも吐かず、ResultもOKになり、「?」と数時間もハマってしまった。。
crates
https://crates.io/crates/keyring
github
https://github.com/open-source-cooperative/keyring-rs
cargo add keyring
Cargo.toml
keyring = "3.6.2"
キーチェーンに追加する最小サンプル
use keyring::{Entry, Result};
fn main() -> Result<()> {
let entry = Entry::new("my-service", "my-name")?;
entry.set_password("topS3cr3tP4$$w0rd")?;
let password = entry.get_password()?;
println!("My password is '{}'", password);
// delete処理は一旦非表示
// entry.delete_credential()?;
Ok(())
}
cargo runで実行。
何度実行しても、キーチェーンの検索窓調べても。。登録されない。
と、ふとstackoverflow見ると。。
keyring = { version = "3", features = ["apple-native", "windows-native"] }
と記されている。
試してみると、

追加されたー!!苦しかったぁ〜 ><
なんだよ、featureフラグが必要だったのかよーー
keyring-rsに関しては、殆ど日本語の記事などなく少々詰みかけていました。。
何はともあれ良かった。。
プライベートでもOSSにてTauriアプリを構築していこうかと思います。
ではではぁ。













