imo-tikuwa / flutter3-and-supabase-study

2023年12月現在の最新のFlutter3.16.3とsupabase_flutterを使った認証を含む自分用の勉強リポジトリ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

flutter3-and-supabase-study

このリポジトリについて

  • Flutter3とSupabaseの勉強用リポジトリです
    • Supabaseの認証機能を用いた認証が行えます
      • このアプリ内からのサインアップは作っていません
      • パスワード認証の他にGitHubとGoogleアカウントを利用したソーシャルログインも行えます(Supabase側のAuthentication -> Auth Providersの設定が必要)
    • ログイン後の画面でタスクに関するCRUDを行えます
      • 登録後のタスクはスイッチによって完了/未完了の更新を行えます
      • タスクの並びについて長押しでタスクを掴んで任意の位置に入れ替えることができます
  • 環境構築にfvm(v3)を使っています

Supabaseのtasksテーブル

以下のような定義となっています

create table
  public.tasks (
    id bigint generated by default as identity,
    created_at timestamp with time zone not null default now(),
    title text null,
    completed boolean not null default false,
    "user" uuid not null default auth.uid (),
    sort_num bigint generated by default as identity,
    constraint tasks_pkey primary key (id)
  ) tablespace pg_default;

RLSは以下のようになっています

roles cmd qual with_check
{public} INSERT (auth.uid() = "user")
{public} SELECT (auth.uid() = "user")
{public} UPDATE (auth.uid() = "user")
{public} DELETE (auth.uid() = "user")
  • ログイン中のユーザーIDとuserカラムの値が一致するもののみINSERT、SELECT、UPDATE、DELETE可能というRLS(のはず)
  • SELECT roles, cmd, qual, with_check FROM pg_policies WHERE schemaname = 'public' AND tablename = 'tasks';で確認

About

2023年12月現在の最新のFlutter3.16.3とsupabase_flutterを使った認証を含む自分用の勉強リポジトリ


Languages

Language:Dart 33.5%Language:C++ 32.3%Language:CMake 26.5%Language:Swift 3.0%Language:HTML 2.6%Language:C 1.9%Language:Kotlin 0.2%Language:Objective-C 0.1%