Hasura
Deploy Casdoor first (see Server installation). Then configure the application and Hasura as below.
Configurar la aplicación Casdoor
- Crear o usar una aplicación Casdoor existente.
- Añade una URL de redirección:
http://CASDOOR_HOSTNAME/login
- Copia el ID del cliente; lo necesitaremos en los siguientes pasos.
Añade un usuario en Casdoor
Create a user and assign a role to the application.
Go to Users → Add user to open the new-user page.

Guarda el usuario después de añadir un nombre de usuario y añadir la organización Hasura (otros detalles son opcionales).
Set a password via "Manage your password".
Elige una contraseña para tu usuario y confírmala.
Construir la Aplicación Hasura
Inicia Hasura por Docker o Hasura Cloud.
Ahora crea una tabla users con las siguientes columnas:
idde tipo Texto (Clave Primaria)usernamede tipo Texto
Refiérete a la imagen a continuación para referencia.

El siguiente paso es crear un rol user para la aplicación. Los usuarios deberían poder ver solo sus registros pero no los registros de otras personas.
Configura el rol user como se muestra en la imagen a continuación. For more information, read about configuring permission rules in Hasura.

De esta manera, los usuarios no pueden leer los registros de otras personas. Solo pueden acceder a los suyos.
Para propósitos de prueba, añade un usuario ficticio. Esto es para asegurar que cuando uses el token JWT, solo veas los detalles de tu usuario y no los detalles de otros usuarios.

Set JWT_SECRET in Hasura.
Configura Hasura con Casdoor
Add HASURA_GRAPHQL_JWT_SECRET to Hasura.
Para hacerlo, ve al docker-compose.yaml de Hasura y luego añade el nuevo HASURA_GRAPHQL_JWT_SECRET como se muestra a continuación.
El HASURA_GRAPHQL_JWT_SECRET debe estar en el siguiente formato. Recuerda cambiar <Casdoor endpoint> por la URL de tu propio Casdoor (como 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"}'
Guarda el cambio y recarga el docker.

Recupera el 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.
Luego ingresa el nombre de usuario y la contraseña que creaste para Hasura antes.
Haz clic en "Iniciar sesión"

Vuelve a la página Casdoor/Token.

Encuentra el Nombre de Usuario que ingresaste antes, luego haz clic en "editar"
Copia el Token de Acceso

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