カテゴリー:Hasura
-
【Hasura】本番運用
10.16
データベーススキーマの管理 バックエンドのORMとHasuraのスキーマの間にインピーダンスミスマッチが発生する。バックエンドからHasuraスキーマは見れないので。Hasura側からもバックエンドのスキーマは見れません。 対策 どち…
-
Hasuraは認証をHasura外で行う必要があります。 認証方式 いずれの方式もSession Variables(セッション変数)という変数(X-Hasura-Role)をHasuraに渡すことでユーザーの識別を実施します。 we…
-
【Hasura】「Deploying」について
10.16
Hasuraではデプロイする際のガイドや本番環境でセキュアなGraphQLエンジンを提供するためのガイドが含まれている。 Set an admin secret コンソールやエンドポイントへの不正アクセスを防ぐために使用する。 …
-
Migrations、Metadataとは? DBのスキーマやHasuraのメタデータをファイルとして出力でき、これを使用して全く別環境に類似環境の構築が可能。 出力したファイルは編集することで環境のカスタマイズが可能 各時点…
-
【Hasura】概要
10.16
Hasuraとは? Hasura社が作成しているミドルウェアで、クライアントとDBの間に入ってGraphQLとSQLを相互変換してくれます。 Hasuraの裏側にデータベースが存在します。 メリット DB定義からGraphQLス…
-
【Rails】「Hasura」との連携
10.15
役割 一般的には以下のような役割分担で実装することが多くなるでしょう。 Rails ビジネスロジック マイグレーション Hasura シンプルなCRUD操作 複雑な処理はActionsでRailsに…
-
【Hasura】「JWT認証」について
10.09
HasuraのJWT認証の流れ ユーザーはfirebaseやAuth0などからJWTを発行してもらい、それをそのままHasuraに投げます。 Hasuraはユーザーから受け取ったJWTをsercretを用いてパースします。パ…
-
admin Hasuraでテーブル作成時にデフォルトで割り当てられているpermissionsです。フルアクセスということでCRUDが全てできるようになっています。 ユースケース アプリケーションのユーザーの状態に応じてデータベースの…
-
二つの方法があります。 JWTトークンを使った方法 Hasuraのエンドポイントに対して適切なJWTトークンを付与してリクエストしないとHasuraがレスポンスを返さないようにする手法です。 懸念点 本番環境とかではNext.jsは…
-
Next.jsではクライアントサイドとサーバーサイドの処理を扱うことができるのでApolloClientを使う場合は処理の切り分けが重要になってきます。 サーバーサイドで実行される箇所(SSG、ISR:getStaticProps、get…