PowerApps でパスワード マネージャーを作ってみた
はじめに
パスワード管理には Enpass を利用しています。しかし、高機能すぎて使いこなせないことや、モバイルで利用する際に有償となる点が気になりました。そこで、PowerApps の学習も兼ねて自分でパスワード マネージャーを作成しました。
実行手順
データ ソース
OneDrive for Business 上の Excel ファイルをデータ ソースとして利用しています。セキュリティについては、OneDrive for Business がセキュアであるため問題ないと判断しています。厳密にセキュリティを考慮する場合は、さらに検討が必要です。Excel では既定で 500 件までしか扱えませんが、パスワードを 500 件以上登録することは想定していないため、こちらも問題ありません。
一覧表示
テンプレートはほぼそのまま利用していますが、アイコンを下に移動しています。
アイテムの追加
第 2 認証を要求するサイトもあるため、パスワードを 2 つ入力できるようにしています。
アイテムの編集
最終更新日時は自動的に更新されるようにしています。SubmitForm のあとに Patch を呼び出し、現在時刻を設定しています。
初期表示ではパスワードは非表示ですが、ロック アイコンをクリックすると表示されます。クリップボードへのコピーやテキストの全選択なども実装したいところですが、PowerApps の制約により難しい状況です。コピー機能については PowerApps Community にフィードバックが寄せられているため、今後の対応に期待しています。
URL については Launch 関数でリンクできるようにしています。ただし、モバイルの場合は、URL によってはブラウザーではなくアプリが起動します。
パスワードの生成
パスワードを自動生成する機能も実装しています。PowerApps 単体では難しいため、Flow でパスワード生成処理を実装しています。実装の詳細は @twit_ahf さんにブログ情報を教えていただきました。ブログでは LogicFlow 内で長さを決めていますが、今回の記事では PowerApps から長さを渡すようにしています。
おわりに
簡単な業務アプリであれば、モバイルの種類を問わず簡単に開発できる点が便利だと感じました。調査も含めて、だいたい 1 日程度で作成できました。
Discussion