💻

PowerApps でパスワード マネージャーを作ってみた

2022/01/01に公開

はじめに

パスワード管理に Enpass を使っていたのですが、ちょっと高機能すぎて使いこなせないのと、モバイルで使うときに有償になるので、PowerApps の勉強がてら自分でパスワード マネージャーを作ってみました。

アプリの作成

データ ソース

OneDrive for Business の Excel ファイルをデータ ソースにしました。本当は厳密にセキュリティを考えるならもうちょっと考えなければいけないのかもしれませんが、OneDrive for Business がセキュアなので (うっかりファイルを公開していない限り) 問題ないとしています。Excel だと既定で 500 件までしか扱えないという問題もありますが、パスワードを 500 件も登録することもないので、こちらも大丈夫ですね。

一覧表示

テンプレートほぼそのままですがアイコンを上に置くとしんどいので下に移動しました。

アイテムの追加

セキュリティとして意味があるのかよくわかりませんが、第 2 認証を要求するサイトもあるので、パスワードは 2 つ入れられるようにしています。

アイテムの編集

最終更新日時は自動的に更新するようになっていますが、SubmitForm のあとに Patch を呼び出して現在時刻を突っ込むようにしました。

初期表示ではパスワードが見えませんが、ロック アイコンをクリックすることで、パスワードが見えるようになります。本当は、クリップボードにコピーするとか、テキストをすべて選択するとかしたいのですが、さすがに PowerApps の限界のようです。コピーに関しては PowerApps Community に Feedback がすでにあるようなので今後に期待したいと思います。

https://powerusers.microsoft.com/t5/PowerApps-Ideas/Copy-to-Clipboard/idi-p/32975

URL も Launch でリンクできるようにしたのですが、モバイルの場合、たとえば Twitter だと、ブラウザが立ち上がるのではなく、アプリが立ち上がってしまいます。

パスワードの生成

パスワードを自動生成する機能もあります。さすがに PowerApps だけでは無理なので Flow でパスワード生成処理を実装しています。実装の詳細は 縄神様 (@twit_ahf) にブログの情報を教えていただきました。ブログでは LogicFlow の中で長さを決めていますが、そこは PowerApps から渡すようにしています。

https://blogahf.blogspot.com/2018/04/logicflow.html

おわりに

簡単な業務アプリだったらモバイルの種類を問わずに簡単に開発できるのは便利だなと思いました。ちなみに調査も含めだいたい 1 日くらいで作れました。

しいて言えばできることとできないことの限界がもう少しわかりやすいといいんですけどね。

Discussion