loopbackio / loopbackio/loopback-next
How to report HttpErrors.Forbidden from authenticate action
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 5.1k
- Forks
- 1.1k
- Ø Merge
- 2 T. 21 Std.
- Gemergte PRs (30 T.)
- 27
Beschreibung
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 `
```js
strategy.error = function (error) {
reject(new rest_1.HttpErrors.InternalServerError(error));
};
```
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem Lesen von @loopback/authentication/strategy-adapter.js und der im Issue gezeigten Verwendung des Callbacks in auth-strategy.provides.ts. Verfolge nach, wie Strategiefehler zu HTTP-Fehlern werden, und bestimme, welcher unterstützte Erweiterungspunkt HttpErrors.Forbidden ohne direkte Bearbeitung des Moduls bewahren würde; erledigt ist die Aufgabe, wenn der role-authentication-Fehler über den dokumentierten Anwendungscodepfad weitergegeben wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- authentication
- Issue-Typ
- Feature
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100