Angularを使用しているプロジェクトで、SHA256による暗号化メソッドをステージング環境にデプロイしたところ、以下のメソッド実行時にエラーが発生。
■エラーメッセージ
Cannot read properties of undefined (reading 'digest')
■該当メソッド
window.crypto.subtle.digest()
MDNの公式ドキュメントによると、digestメソッドは安全なコンテキストでのみ使用できるものとのこと。
つまりは、httpsで通信してね、という話。
ステージングではSSL化の対応は済んでいるものの、httpでアクセスしていたため、URLをhttpsに変えるだけで解消した。
ちなみに、安全なコンテキストとは、httpsでの通信の他に、localhostも含まれる。そのため、開発環境での検知をすり抜けてしまった。
コメント