J'ai un tableau de bord implémenté sur react-admin . Le processus d'authentification a été effectué en suivant ce tutoriel . < / p>
Je dois maintenant implémenter un écran de mot de passe oublié, mais le problème est que cet écran doit être accessible sans être connecté ...
J'ai pensé à 2 façons possibles de mettre en œuvre ceci:
Quelqu'un peut-il expliquer comment implémenter l'une ou l'autre option sur le framework?
Merci d'avance,
3 Réponses :
D'après un commentaire sur le problème Github, je a fini par implémenter une solution de contournement basée sur l ' exemple simple .
La principale chose que j'ai faite a été d'ajouter quelques itinéraires personnalisés avec l'option noLayout. Ces itinéraires personnalisés ne semblent pas passer par l'authentification pour une raison que je n'ai pas trouvée dans la documentation.
J'ai donc redéfini mon fichier App.js:
const App = () => ( <Admin loginPage={Login} authProvider={authProvider} dataProvider={dataProvider} i18nProvider={i18nProvider} title="Example Admin" locale="en" customReducers={{ tree }} customRoutes={[ <Route exact path="/forgotPassword" component={ForgotPassword} noLayout/>, <Route exact path="/resetPassword" component={ResetPassword} noLayout/>, ]} > {permissions => [ <Resource name="users" {...users} />, ]} </Admin> );
Quoi qu'il en soit, c'est la solution que j'ai trouvée, je ne sais pas si c'est la bonne. Veuillez me faire savoir si vous trouvez quelque chose de mieux.
J'utilise également une solution comme celle-ci.
Mais je ne peux pas utiliser notify
lors de l'ajout de noLayout
.
Est-ce que vous avoir utilisé notifier
avec
<Route exact path="/forgotPassword" component={ForgotPassword} noLayout/>
J'ai trouvé dans la source du composant
. Je dois ajouter
dans la page de mot de passe oublié
J'ai eu un problème similaire et l'ajout d'un itinéraire personnalisé avec l'option noLayout
m'a quand même renvoyé à l'écran de connexion.
Il s'est avéré que ce n'était pas la partie checkAuth
du authProvider
à l'origine de cela.
La cause était getPermissions
faisant partie du authProvider
Dans la condition où les autorisations ne pouvaient pas être trouvées, j'avais:
return Promise.reject ();
Changer ceci en: return Promise.resolve ([]);
l'a résolu pour moi.
Même question ici. Je ne pense pas que ce soit actuellement possible avec react-admin. Mais j'adorerais me tromper à ce sujet.
Je pense avoir trouvé un moyen, basé sur un commentaire github ... Dites-moi ce que vous en pensez
Hah, c'est moi sur github. J'ai découvert l'exemple après avoir posté ici. Heureux que vous ayez trouvé un certain succès.
Ha, j'ai imaginé que ça pouvait être toi. Cela m'a envoyé sur la bonne voie ... Merci mec