Auth avec le SDK Directus

Hello tout le monde !

Quelqu’un aurait déjà géré l’authentification avec directus avec ou sans le SDK Js :
-token
-refresh token
-reset password

Je travaille avec react en front et j’arrive à me sign in puis après je suis un peu perdue pour le refresh.
Un peu d’aide ne serait pas de refus :pray:t2:

Merci par avance pour vos réponses :wink:

Bonjour,

Quelles sont les difficultés rencontrées? As-tu exploré la doc (certes un peu légère) de Directus?

Bonjour, oui j’ai consulté la doc, je n’arrive a intercepter le moment ou le refresh token doit s’effectuer

Hello, je pense que à chaque fois tu que tu joue une requête tu regarde si ton acces_token est dans le futur, si oui tu fait rien sinon tu rejoure ta fonction login avec le refresh_token, j’ai pas encore essayé.
la c’est de l’improvisation :slight_smile:

Normalement avec le SDK JS il suffit d’appeler une fonction avec tes identifiants et ensuite c’est bon :

await directus.auth.login({
	email: '[email protected]',
	password: 'd1r3ctu5',
});

Il doit gérer le token automatiquement si tu conserves la même instance que tu as obtenu en réponse de cette fonction.

Voici le lien pour la doc un peu plus complète : JavaScript SDK | Directus Docs

Autre info importante issue de la doc :

Developing Locally

If you’re developing locally, you might not be able to refresh your auth token automatically in all browsers. This is because the default auth configuration requires secure cookies to be set, and not all browsers allow this for localhost. You can use a browser which does support this such as Firefox, or disable secure cookies.

1 « J'aime »

Je trouve cette solution top, mais je n’arrive pas à comprendre comment mettre cela en place avec swiftUI…?

Cette solution est uniquement pour utiliser Directus depuis un environnement JS. Pour Swift, le plus simple est de passer par l’API REST de Directus.
Il s’agit du chapitre sur l’utilisation des Webservices en Swift dans le cours SwiftUI.
Tu peux aussi voir la partie API REST dans le cours Directus.

1 « J'aime »