IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Angular Discussion :

[Angular 2] Accès API REST sécurisé et problème de CORS


Sujet :

Angular

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut [Angular 2] Accès API REST sécurisé et problème de CORS
    Bonjour,

    j'ai un soucis avec CORS apparemment et je n'arrive pas à comprendre.

    Le serveur est une API REST sécurisé via JWT Token.

    à savoir :
    - via postman sur chrome, je n'ai aucun soucis. j'obtiens le token et j'accède aux données via le token
    - sous Angular 2, j'obtiens le token mais pas moyen d'avoir les données.

    j'ai donc cette erreur sur la console :
    OPTIONS http://jwt-api-restxxxxxx.fr/api/produits 405 (Method Not Allowed)
    XMLHttpRequest cannot load http://jwt-api-restxxxxxx/api/produits. Response for preflight has invalid HTTP status code 405
    sous firefox, cette erreur :
    "NetworkError: 405 Method Not Allowed - http://jwt-api-restxxxxxx/api/produits"
    Blocage d’une requête multi-origines (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur http://jwt-api-restxxxxx/api/produits. (Raison : échec du canal de pré-vérification des requêtes CORS.

    serveur API REST :
    dans le .htaccess j'ai bien mis les autorisations : (serveur apache)
    Code apache : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <IfModule mod_rewrite.c>
        Header set Access-Control-Allow-Origin "*"
        Header set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
        Header set Access-Control-Max-Age "1000"
        Header set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
     
        RewriteEngine On
        RewriteCond %{HTTP:Authorization} ^(.*)
        RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
        RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
     
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ web/$1 [QSA,L]
    </IfModule>


    le code sous Angular :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
      getProtected() {
          let url = `http://jwt-api-restxxxxxx/api/produits`;
     
          let headers = new Headers({ 'Content-Type': 'application/json' });
          headers.append("Authorization", `JWT ${jwt}`);                         // après vérification,  le token est bien inséré !
     
          let options: RequestOptions = new RequestOptions({method: RequestMethod.Get, headers: headers });
     
        this.http.get(`${url}`, options)
            .map((response: Response) => response.json())
            .subscribe(
                (data) => {
                  console.log('Got protected resource: msg: ' + JSON.stringify(data) );
                },
                (error) => {
                  console.log(`Protected request failed: ${error}`);
                }
            );
      }

    une idée ?

  2. #2
    Membre extrêmement actif
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Par défaut
    ce fût un problème de CORS qu'il fallait résoudre aussi au niveau de l'API REST (pas seulement sur le .htaccess)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/09/2013, 08h23
  2. Réponses: 2
    Dernier message: 01/09/2010, 09h36
  3. Accès Web depuis un logiciel : problème avec le Firewall
    Par MiJack dans le forum Web & réseau
    Réponses: 2
    Dernier message: 29/10/2007, 15h55
  4. userform bloque acces au reste
    Par sedam dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/10/2007, 01h48
  5. [ODBC] [Access] Accès à une base sécurisé
    Par maraly dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 03/08/2007, 10h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo