前提・実現したいこと
Google Drive にアップロードする必要のあるファイルのためのアップローダーを作りたい.しかし念の為パブリックで公開したくはない.
そのため,Linux環境とGASで認証を行いたい.
ただし,Googleアカウントの認証は組織の問題で使えない.
(Google認証を組織の認証が代替しておりAPIキーが有効にならない)
上の説明を飛ばしても問題ない結論としては,OpenSSL 他Linuxのコマンドによる結果とGASのUtilitiesによる結果をすり合わせることはできないだろうか.
あるいは,GASによって生成されるURLは割と長いので確率的に不正アクセスの可能性は低いとみなして無視するべきだろうか.
発生している問題・エラーメッセージ
OpenSSLで生成するHMACも,そもそもSHA256sumもGASのそれと一致しない.
該当のソースコード
shell
1echo 1234 | openssl dgst -sha256 -hmac "SAMPLE_SECRET" -binary | base64 2# SMIh3v+wmulRAbYMkppy/PPIkTNEG/qH7bu+pFFrsJU=
GAS
1function myFunction() { 2 var hmacSecret = "SAMPLE_SECRET"; 3 var plain = "1234"; 4 var hmac = Utilities.computeHmacSha256Signature(plain, hmacSecret); 5 Logger.log(Utilities.base64Encode(hmac)); 6} 7// 8csaE+6AVXokdpii4pIV1IHXAG/HdGFG3U5eK15LBH8=
試したこと
- 単純にSHA256を生成し比較
- SECRET_KEYの変更
補足情報(FW/ツールのバージョンなど)
- OpenSSL : OpenSSL 1.1.1h 22 Sep 2020
- OS : Arch Linux(2020/10/20 update)
- GAS : v8 engine 未使用(File blobまわりのバグのため)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/23 06:37