HasuraとJWTは、Webアプリケーション開発において重要な役割を担う技術です。Hasuraは、GraphQL APIを構築するためのオープンソースのプラットフォームであり、JWTは、Webアプリケーションでの認証と認可に使用される標準規格です。
今回は、HasuraでJWTを使用して認可トークンを生成する手順を紹介します。
STEPS:
有シークレットキーを生成し https://cloud.google.com/network-connectivity/docs/vpn/how-to/generating-pre-shared-key
私の場合、このキーを生成しました。“Pn/t8ZuDDsja1wkTSQyXbqnDT/N8X0SG”
ステップを追って、サイトを開きます。 https://jwt.io
そして、私たちのデコードされたキーとエンコードされたキーを作成します
ここに、生成したキー(私の場合は「Pn/t8ZuDDsja1wkTSQyXbqnDT/N8X0SG」)を入力します。
ペイロードを宣言します。
{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022,
"https://hasura.io/jwt/claims": {
"x-hasura-allowed-roles": ["admin", "user"],
"x-hasura-default-role": "user",
"x-hasura-user-id": "1234567890",
"x-hasura-org-id": "123",
"x-hasura-custom": "custom-value"
}
}
私は役割として管理者とユーザーを使用しています。詳細については、こちらをご覧ください: https://hasura.io/docs/latest/auth/authentication/jwt/
次に、HasuraのWebページのenv変数に移動します。そして設定します。
HASURA_GRAPHQL_JWT_SECRET
この内容で:
{
"key": "Pn/t8ZuDDsja1wkTSQyXbqnDT/N8X0SG",
"type": "HS256"
}
私の場合、私は前にGoogle Cloudサービスで生成した秘密鍵(Pn/t8ZuDDsja1wkTSQyXbqnDT/N8X0SG)を使用しています。覚えていますか?
更新してから1分間待ちます。その後、コンソールに移動して、ヘッダーにJWT.ioから生成された認可(エンコードされたコード)を設定します。
「Bearer」というワードを追加し、スペースを確認してください。
例: 「Bearer あなたのエンコードされたコード」
現在、テスト中:
JWTを使用してHasura APIを保護することで、APIへのアクセスを制御し、APIからの取得データを保護することができます
この後、バックエンドを生成するか、FirebaseやAuth0のようなサービスを使用してトークンを自動生成することができます。
そして完了です!