backend(mBaaS)。技術情報mBaaSにAPIアクセスする際に最もネックになるのが署名文字列の生成かと思います。これまで幾つかのプログラミング言語において、署名生成の方法を紹介してきました。JavaPythonRubyGo今回は最近話題になっているFlutterで使われているDartで署名を生成する方法を紹介します。今回はFlutterでもインポートするライブラリについて必要な変数を準備する署名用文字列を作る署名するまとめインポートするライブラリについてflutterコマンドで生成されたプロジェクトに対して、以下のライブラリを追加しています。'dart:convert';必要な変数を準備するまず署名生成に必要な変数を準備します。backendに記載されているものを利用しています。時刻は現在のものを使うのが望ましいですが、今回は同ドキュメントに記載のものを使っています。DateTime.parse('2013-12-02T02:44:35.452Z');これらの変数をMapにまとめます。日付はISO8601形式にしておきます。date.toIso8601String()};さらにクエリ文字列を用意します。これもMapとします。}};署名用文字列を作る用意した変数を使って、署名用の文字列を作成します。クエリ文字列をbaseInfoに追加します。whereなどはMapになっていますので、jsonEncodeを使って文字列化します。この時、Uri.encodeQueryComponentを使って値をエンコードします。sigList.add("$key=${baseInfo[key]}"));そしてリストをソートします。つないで一つの文字列にします。これが署名用文字列です。sigList.join('&');署名する署名処理に必要なのは以下の情報です。用意したので、他の変数を用意します。'/2013-09-01/classes/TestClass';これらの変数をすべて改行で連結します。queryString].join("\n");後はHmacのSHA256でハッシュ化し、BASE64エンコードした文字列が署名になります。まとめ署名文字列が正しく作れれば、次のステップとしてリクエスト処理を行えるようになります。DartはJavaScriptやSwiftに似せて書けるので、習得はさほど難しくなさそうです。Flutterを覚えればマルチプラットフォームでスマートフォンアプリが開発できるようになりますので覚えてみてはいかがでしょう。篤司NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。Service)とは、スマートフォンアプリでよく利用される汎用的な機能をSDKとクラウドから提供するサービスです。backendのちょっと便利な使いかた・非公式SDKやアプリ開発の関連情報などをお届けするブログです。※記事内には、サポート対象外の内容も含みます。本ブログではコメント機能を公開しておりません。アプリ開発を行う上での課題解決には、ユーザーコミュニティやもくもく会などもご活用ください。LIMITEDスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。