FJCT_ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

Flutter(Dart)用NCMB SDKの機能について(匿名認証)

f:id:mbaasdevrel:20200110154553p:plain

非公式ですが、Flutter(Dartでも)で使えるNCMB SDKを開発しています。

ncmb | Dart Package

今回は匿名認証の使い方について紹介します。

SDKのインポート

まずはSDKをインポートします。pubspec.yamlは以下のように記述します。

dependencies:
  ncmb: ^0.1.3

コードでは次のようにインポートします。

import 'package:ncmb/ncmb.dart';

Flutterであれば flutter pub get 、Dartであれば pub getでライブラリをインポートできます。Visual Studio Codeであれば、エディタからインポートできるでしょう。

SDKの初期化

次にSDKを初期化します。

NCMB ncmb = new NCMB('YOUR_APPLICATION_KEY', 'YOUR_CLIENT_KEY');

匿名認証について

匿名認証は ncmb.User.loginAsAnonymous を使います。

await ncmb.User.loginAsAnonymous();

UUID形式の文字列を指定することもできます。

ncmb.User.loginAsAnonymous('10ec58a-a0f2-4ac4-8393-c866d813b8d1')

認証後のAPIリクエストには自動的にセッションIDが付与されるので、認証状態を気にせず利用できます。

認証状態の確認

認証に用いるセッションは一週間程度で有効期限が切れます。そこで以下のようにして認証状態を確認できます。

var user = await ncmb.User.CurrentUser();
if (user != null && (await user.enableSession())) {
  // セッションが有効
} else {
  // セッションが無効なのでログアウト処理
  await user.logout();
}

まとめ

匿名認証はアプリ利用者の操作が不要で、ACLを使ったセキュアなデータ管理が可能になります。ぜひ使ってみてください。なお、ソースコードは下記のリポジトリにて公開しています。ライセンスはMIT Licenseです。ぜひFlutterでもNCMBを活用してください!

NCMBMania/ncmb-dart: NCMB library for Dart and Flutter.

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。