Hasura
Deploy Casdoor first (see Server installation). Then configure the application and Hasura as below.
Configurer l'application Casdoor
- Créez ou utilisez une application Casdoor existante.
- Ajoutez une URL de redirection :
http://CASDOOR_HOSTNAME/login
- Copiez l'ID client ; nous en aurons besoin dans les étapes suivantes.
Ajoutez un utilisateur dans Casdoor
Create a user and assign a role to the application.
Go to Users → Add user to open the new-user page.

Sauvegardez l'utilisateur après avoir ajouté un nom d'utilisateur et ajouté l'organisation Hasura (les autres détails sont optionnels).
Set a password via "Manage your password".
Choisissez un mot de passe pour votre utilisateur et confirmez-le.
Construisez l'application Hasura
Démarrez Hasura par Docker ou Hasura Cloud.
Maintenant créez une table users avec les colonnes suivantes :
idde type Texte (Clé Primaire)usernamede type Texte
Référez-vous à l'image ci-dessous pour référence.

L'étape suivante consiste à créer un rôle user pour l'application. Les utilisateurs devraient être capables de voir seulement leurs enregistrements mais pas ceux des autres.
Configurez le rôle user comme montré dans l'image ci-dessous. For more information, read about configuring permission rules in Hasura.

De cette manière, les utilisateurs ne peuvent pas lire les enregistrements des autres. Ils ne peuvent accéder qu'à leurs propres informations.
Pour des fins de test, ajoutez un utilisateur fictif. Ceci est pour s'assurer que lorsque vous utilisez le token JWT, vous ne voyez que les détails de votre utilisateur et non ceux des autres utilisateurs.

Set JWT_SECRET in Hasura.
Configurez Hasura avec Casdoor
Add HASURA_GRAPHQL_JWT_SECRET to Hasura.
Pour ce faire, allez dans le fichier docker-compose.yaml de Hasura et ajoutez le nouveau HASURA_GRAPHQL_JWT_SECRET comme ci-dessous.
Le HASURA_GRAPHQL_JWT_SECRET doit être au format suivant. N'oubliez pas de changer <Casdoor endpoint> par l'URL de votre propre Casdoor (comme https://door.casdoor.com)
HASURA_GRAPHQL_JWT_SECRET: '{"claims_map": {
"x-hasura-allowed-roles": {"path": "$.roles"},
"x-hasura-default-role": {"path": "$.roles[0]"},
"x-hasura-user-id": {"path": "$.id"}
},"jwk_url":"<Casdoor endpoint>/.well-known/jwks"}'
Sauvegardez le changement et rechargez le docker.

Récupérez le Token JWT
With no client implementation, obtain an access token by calling:
http://localhost:8000/login/oauth/authorize?client_id=<client ID>&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Flogin&scope=read&state=app-built-in<public certificate>>
Change client ID to the ID you copied before and input the public certificate of Casdoor, from the Casdoor Certs page.
Ensuite, entrez le nom d'utilisateur et le mot de passe que vous avez créés pour Hasura auparavant.
Cliquez sur "Se connecter"

Retournez à la page Casdoor/Token.

Trouvez le nom d'utilisateur que vous avez entré auparavant, puis cliquez sur "éditer"
Copiez le Token d'Accès

Use the access token for authenticated requests; Hasura returns the matching user instead of all users.
