loopbackio / loopbackio/loopback-next

How to report HttpErrors.Forbidden from authenticate action

Ouverte
#2,212 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Authorization Docs
Langage dominant
TypeScript
Étoiles
5.1k
Forks
1.1k
Merge moyen
2 j 21 h
PR mergées (30 j)
27

Description

Suggestion
I have implement JWTStrategy
every thing working fine. now I am trying to further authenticate according to user roles
e.g if logged in user is not ADMIN raised HttpErrors.Forbidden error

current strategy-adapter.js code only raise InternalServerError if I pass error in cb() of JWTStrategy

I have changed strategy-adapter.js
reject(new rest_1.HttpErrors.InternalServerError(error)); to
reject(error); and pass
cb(new HttpErrors.Forbidden(), false); in auth-strategy.provides.ts
which working according to my requirement
my question is there best way to implement changes in my code instead of changing in @loopback/authentication module directly

Existing CODE
@loopback/authentication/strategy-adapter.js

strategy.error = function (error) {              
                reject(new rest_1.HttpErrors.InternalServerError(error));
            };

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par lire @loopback/authentication/strategy-adapter.js et l’utilisation du callback de auth-strategy.provides.ts montrée dans l’issue. Suivez la manière dont les erreurs de stratégie deviennent des erreurs HTTP et déterminez quel point d’extension pris en charge préserverait HttpErrors.Forbidden sans modifier directement le module ; le travail est terminé lorsque l’erreur role-authentication est propagée par le chemin de code applicatif documenté.

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

Évaluation

Stack technique
typescript
Domaine
authentication
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

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