Giter Site home page Giter Site logo

hasura-mssql-liff's Introduction

hasura-mssql-liff

前提

1. 環境構築

以下をやることでhasura consoleが起動する。

cd to/this/repo

docker compose up
cd hasura

hasura metadata apply
hasura migrate apply --all-databases
hasura md reload

hasura console

2. トークン取得

以下のページでLINEにログインし、IDトークンを取得する。

LIFF Playground

3. IDトークンをヘッダーにセット

hasura console上でトークンを以下のようにセットする。

  • KEY: Authorization
  • VALUE: Bearer <2で取得したidトークン>

4. ユーザーIDを控える

2で取得したidトークンの中に含まれるトークン中に含まれるsubというキーの値がユーザーIDとなる。これを控えておく。

idトークンの中身を見るには以下のサイトを利用するとよい。

jwt.io

5. 管理者権限でユーザーを作成する

x-hasura-admin-secret ヘッダーにチェックを入れることで、管理者権限で任意のGraphQLクエリが発行可能になる。

その上で、以下のクエリを実行し、ユーザーを作成する。

mutation AdminAddUser {
  insert_user_one(
    object: { id: "{ユーザーID}", name: "テストユーザー" }
  ) {
    id
    name
  }
}

6. IDトークンの権限でユーザー情報を取得する

x-hasura-admin-secret ヘッダーのチェックを外し、Authorizationヘッダーにチェックを入れることで、IDトークン中のユーザーIDに関するデータ取得しかできないクエリを発行できる。

その上で、以下のクエリを発行し、自分のデータしかとれていないことを確認できる。

query GetMe {
  user {
    id
    name
    deleted_at
  }
}

hasura-mssql-liff's People

Contributors

nakanoasaservice avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.