1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Hexabase Dart/Flutter SDKの使い方(認証の永続化)

Posted at

Hexabase(ヘキサベース)は企業向けのBaaS(Backend as a Service)を提供しています。認証やデータストア、ファイルストレージ、リアルタイム通知などの機能があり、企業向けのシステム開発に必要な機能をまるっと提供しています。

APIはREST APIとGraphQLを提供しています。そのAPIをラップしたSDKも開発を進めています。SDKは現在、TypeScriptとDart向けに開発しています。Dart向けのSDKは、もちろんFlutterでも利用できます。

この記事ではDart/Flutter SDKについて、認証の永続化に対応したので利用法を紹介します。

パッケージとソースコード

パッケージはpub.devで公開しています。

hexabase | Flutter Package

ソースコードはGitHubにて公開しています。ライセンスはMIT Licenseです。

hexabase/hexabase-dart: Hexabase SDK for Dart & Flutter

インストール

インストールは dart pub get で行えます。

dart pub get hexabase

インポート

SDKをインポートします。

import 'package:hexabase/hexabase.dart';

初期化

まずインスタンスを作成します。

var client = Hexabase();

別なファイルで再度インポートした場合には、以下でインスタンスを取得してください。

var client = Hexabase.instance;

認証

Hexabase Dart/Flutter SDKでは以下の2パターンによる認証を提供しています。

メールアドレスとパスワードによる認証

var client = Hexabase();
client.persistence = Hexabase.persistenceLocal;
await client.login('you@example.com', 'password');

Auth0を使った認証

// Auth0のトークンを用意します
await client.loginAuth0('AUTH0_TOKEN');

認証の永続化

認証をlocalStorageやNSUserDefaults、SharedPreferencesに保存する場合には、認証前に以下を実行してください。

// 永続化
client.persistence = Hexabase.persistenceLocal;
// 認証
await client.login(keys['email'], keys['password']);

認証状態の確認

認証状態を確認する場合は、 isLogin メソッドを実行します。この時にはセッションの有効性チェックも行うので、有効期限が切れていればfalseが返ってきます。トークンが無効な場合は、ローカルのセッションデータも削除されます。

if (await client.isLogin()) {
	// ログイン有効
	var user = client.getCurrentUser();
} else {
	// ログインしていない or トークンが無効
}

ログアウト

ログアウトはログアウトAPIの実行、そしてローカルストレージの削除などを行います。

var user = client.getCurrentUser();
await user.logout();

デモ

単純な認証デモを、以下のURLで試せます。認証はローカルストレージに残りますので、消す場合にはログアウトを行ってください。

Zapp!

ドキュメント

詳しい使い方はドキュメントをご覧ください。

User | Hexabase SDK

まとめ

Hexabase Dart SDKを使うことで認証処理はもちろん、認証状態の永続化も簡単に実現できます。ぜひお試しください。

Dart SDKはFlutterでも利用できます。Flutterで使えると言うことは、iOS/Androidといったスマートフォンアプリやタブレットアプリはもちろん、Webやデスクトップアプリ開発でも利用できます。ぜひHexabaseをDart SDKとともに活用してください。

hexabase | Flutter Package

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?