PowerApps でパスワード マネージャーを作ってみた
はじめに
パスワード管理に Enpass を使っています。しかし、高機能すぎて使いこなせないのと、モバイルで使うときに有償なのが気になります。せっかくなので PowerApps の勉強がてら自分でパスワード マネージャーを作ってみました。
実行手順
データ ソース
OneDrive for Business の Excel ファイルをデータ ソースにしました。セキュリティについては OneDrive for Business がセキュアなので問題ないとしています。厳密にセキュリティを考えるのであれば、もうちょっと考えなければいけません。Excel だと既定で 500 件までしか扱えませんが、パスワードを 500 件も登録することはないので、こちらも問題ないとしています。
一覧表示
テンプレートほぼそのままですがアイコンを上に置くとしんどいので下に移動しました。
アイテムの追加
セキュリティとして意味があるのかよくわかりませんが、第 2 認証を要求するサイトもあるので、パスワードは 2 つ入れられるようにしています。
アイテムの編集
最終更新日時は自動的に更新するようになっていますが、SubmitForm
のあとに Patch
を呼び出して現在時刻を突っ込むようにしました。
初期表示ではパスワードが見えませんが、ロック アイコンをクリックすることで、パスワードが見えるようになります。クリップボードにコピーするとか、テキストをすべて選択するとかしたいのですが、さすがに PowerApps の限界のようです。コピーに関しては PowerApps Community に Feedback がすでにあるようなので今後に期待したいです。
URL も Launch
でリンクできるようにしています。ただしモバイルの場合はブラウザが立ち上がるのではなくアプリが立ち上がってしまうことがあります。
パスワードの生成
パスワードを自動生成する機能もあります。さすがに PowerApps だけでは無理なので Flow でパスワード生成処理を実装しています。実装の詳細は縄神様 (@twit_ahf) にブログの情報を教えていただきました。ブログでは LogicFlow の中で長さを決めていますが、そこは PowerApps から渡すようにしています。
おわりに
簡単な業務アプリだったらモバイルの種類を問わずに簡単に開発できるのは便利だなと思いました。ちなみに調査も含めだいたい 1 日くらいで作れました。
しいて言えばできることとできないことの限界がもう少しわかりやすいといいんですけどね。
Discussion