Me gustaría saber cómo configurar el alcance de una solicitud http en mi aplicación Ionic. Estamos utilizando Hapi Framework para el backend creado con Node.JS. Estoy trabajando con un equipo, así que no tengo suficiente conocimiento del lado del servidor ya que estoy trabajando en la aplicación Ionic.
Además, estoy configurando un token de portador en el encabezado de la solicitud que funciona bien. A continuación se muestra mi código.
Solicitud Http de la aplicación iónica:
let params = { eventId: this.event_id, bearerToken: '' }; let headers = new HttpHeaders(); headers.set('Content-Type', 'application/json'); headers.set('Authorization', `Bearer ${params.bearerToken}`); headers.set('Scope', 'client'); console.log("Authorization bearer token: " + params.bearerToken); //headers.append('scope', ['client']); let options = { headers: headers, scope: 'client' }; return this.http .get(this.baseUrl + `getEventShops?eventId=${params.eventId}`, options) .pipe(map((response: any) => response) , catchError(this.handleError));Fragmento de ruta Node.JS:
exports.getEventShops = { method: 'get', path: '/event/getEventShops', async handler(request) { const user = request.auth.credentials.userSession; let data = await shopController.getEventShops(request.query, user); return data; }, config: { auth: { strategy: 'JwtAuth', scope: ['client'] }, ......Este es el código de error que estoy recibiendo:
{ "statusCode": 403, "error": "Forbidden", "message": "Insufficient scope" }Sé que el error se debe a que estoy configurando el alcance de forma incorrecta.
Esto es algo que debe establecerse en el token de Bearer, en el lado del servidor, no en el móvil.