graphile / graphile/graphile.github.io

Recipe: Creating a viewer/"logged in user" root field

Ouverte
#67 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
SCSS
Étoiles
27
Forks
126
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Here's another proposal for a very simple recipe. Again, feel free to do what you want with this.

## Creating a viewer/"logged in user" root field
A lot of API:s use the "viewer" convention, putting a field on the root query that references the currently logged in user. If you have your authentication set up properly and a have a way of getting the currently logged in user's user id, you can do this very easily with Postgraphile:

```sql
create function my_schema.viewer()
returns my_schema.users as $$
select *
from my_schema.users
where id = current_user_id(); /* current_user_id is a function that returns the logged in user's id, usually by extracting it from the auth token used */
$$ language sql stable;
```

This will put a field (viewer) on your root query that returns the logged in user. Very convenient! Check out the docs on security for handling authorization and adding a current_user_id function.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Examinez cette proposition avec la documentation de sécurité existante à laquelle elle fait référence et l’organisation actuelle des recettes du site. Ajoutez une recette expliquant le champ root du viewer, y compris le modèle SQL présenté et ses hypothèses d’authentification ; le travail sera considéré comme terminé lorsque la recette sera publiée à l’emplacement de documentation approprié et qu’elle renverra vers les consignes de sécurité pertinentes.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
graphql, sql
Domaine
documentation
Type d'issue
Documentation
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.