backend(mBaaS)。PWAは固有の技術を指すキーワードではなく、モバイルWebアプリを作るためのベストプラクティスと言えます。今回から何回かに分けて、mBaaSを使ったPWAを作っていきます。今回はWebAssemblyを用いてクライアントキーを隠蔽化します。変更まとめクライアントキーの隠蔽化とはmBaaSではアプリケーションキーとクライアントキーを用いて認証を行い、クラウド上のデータを操作します。そのため、この二つのキーが漏洩すると、自由にデータ追加ができたり、認証不要なデータを操作できるようになります。認証を用いてACL設定を行っているものは操作できませんが、データを追加できるのは問題があります。そこでクライアントキーを隠蔽化することで、PWAであっても(またはWebアプリであっても)mBaaSを安全に使えるようにします。WebAssemblyの生成WebAssembly化にはRustを用います。Rustの環境設定については省きます。環境設定ができたら、NCMBMania/wasmをダウンロードします。なっている部分を自分のクライアントキーに置き換えてください。"YOUR_CLIENT_KEY";後はコンパイルします。フォルダの中に移動してください。require('@/bundle');さらに関数を有効化します。インスタンスを作るようにします。開いて、署名生成部分を変更します。実行するようにします。クライアントキーが書かれているので、これは適当な文字にします。"dummy"}これでWebアプリケーションとして公開しても安全になりました。まとめ後はTodoアプリがこれまでと変わらずに操作できるのを確認してください。WebAssembly化したことで、クライアントキーがなくとも動作するのが分かるかと思います。mBaaSをWebアプリケーションであったり、PWAの中で用いる際にはクライアントキーを必ず隠蔽化するようにしましょう。WebAssemblyは署名部分しか使っていませんので、ロジックは隠蔽化されていません。クラス名などはコードを探せば見られてしまいます。クラス名なども隠蔽化したい場合にはスクリプト機能を使ってください。v6にアップロードしてあります。実装時の参考にしてください。篤司NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。Tumblr関連記事2018-11-06MonacaアプリでWebAssembly版NCMBを使うにはMonacaはハイブリッドアプリ開発PFであり、開発はHTML/JavaScri...2018-10-02WebAssembly版NCMBのビルドを簡単に行う方法WebAssemblyはコンパイルしたコードを実行するWeb技術です。Service)とは、スマートフォンアプリでよく利用される汎用的な機能をSDKとクラウドから提供するサービスです。backendのちょっと便利な使いかた・非公式SDKやアプリ開発の関連情報などをお届けするブログです。※記事内には、サポート対象外の内容も含みます。本ブログではコメント機能を公開しておりません。アプリ開発を行う上での課題解決には、ユーザーコミュニティやもくもく会などもご活用ください。LIMITEDスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。