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アプリを構築していこうかと思います。
ではではぁ。