LoginSignup
18
1

More than 1 year has passed since last update.

はじめに

Elixir の Livebook 、何でも可視化できて便利ですね

実行コードを残しておけば、誰でもいつでも再現できるのもいいところ
(いずれ Python の Jpyter に取って代わるでしょう)

しかし、パスワードや API キーなど、秘密情報は残すわけにはいきません

api_key = "1234"

なんて残してしまった日には、まして GitHub にあげてしまった日にはセキュリティインシデントの発生です

では、どうすればよいか、というのが今回の話です

Kino.input で入力エリアを用意する

というわけで、以下が答えです

Kino.Input.password を使います

api_key_input = Kino.Input.password("API_KEY")

引数は入力エリアのタイトルです

下画像のような入力エリアが表示されます

スクリーンショット 2022-11-18 20.09.18.png

Kino.Input.password の場合、入力した文字が●になるので、入力しているときも見られることがありません

スクリーンショット 2022-11-18 20.13.20.png

Kino.Input.text の場合は入力した文字が見えてしまいます

スクリーンショット 2022-11-18 20.14.52.png

ちなみに、以下のように default を指定すると、未入力の状態を指定できます

api_key_input = Kino.Input.text("API_KEY", default: "*****")

スクリーンショット 2022-11-18 20.16.53.png

入力した内容を参照する

Kino.Input.read で入力した値を参照します

auth_header = {"X-API-KEY", Kino.Input.read(api_key_input)}
"dummy"

このとき、入力した値が含まれるものを最終行にすると実行結果に表示されてしまうため、
適当なものを最後に入れましょう

ダメな例

スクリーンショット 2022-11-18 20.24.28.png

良い例

スクリーンショット 2022-11-18 20.25.03.png

まとめ

秘密情報には気をつけましょう

18
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
1