loopbackio / loopbackio/loopback-next

How to report HttpErrors.Forbidden from authenticate action

Abierto
#2,212 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Authorization Docs
Lenguaje dominante
TypeScript
Estrellas
5.1k
Forks
1.1k
Merge medio
2 d 21 h
PR fusionados (30 d)
27

Descripción

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));
};
```

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Empieza leyendo @loopback/authentication/strategy-adapter.js y el uso del callback de auth-strategy.provides.ts mostrado en el issue. Sigue el recorrido de cómo los errores de estrategia se convierten en errores HTTP y determina qué punto de extensión compatible conservaría HttpErrors.Forbidden sin editar directamente el módulo; se considera terminado cuando el error de role-authentication se propaga a través de la ruta de código de aplicación documentada.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
typescript
Área
authentication
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.