Je travaille sur un projet qui a une API construite avec symfony2 comme application backend et frontale dans Angular2. Une fois connecté et obtenir jeton lorsque je tente de demande sont envoyés avec en-tête jeton à mon backend cette question happendNelmio Cors, Api comment définir pour les requêtes angular2 avec des en-têtes de jeton
Un jeton n'a pas été trouvé dans le TokenStorage
ci-dessous capture d'écran d'erreurs
BACKEND RÉGLAGE
#nelmioCorsBundle configuration IN CONFIG.YML
nelmio_cors:
defaults:
allow_credentials: true
allow_origin: '*'
allow_headers: ['accept', 'content-type', 'authorization', 'x-http-method-override']
allow_methods: ['POST', 'PUT', 'PATCH', 'GET', 'DELETE']
max_age: 3600
paths:
'^/':
allow_origin: ['http://localhost:4201']
allow_headers: ['Authorization', 'X-Requested-With', 'Content-Type', 'Accept', 'Origin', 'X-Custom-Auth']
allow_methods: ['POST', 'PUT', 'GET', 'DELETE', 'OPTIONS']
max_age: 3600
hosts: []
origin_regex: false
hosts: ['^\.']
BACKEND RÉGLAGE security.yml
firewalls:
login:
pattern: ^/api/login
form_login:
provider: fos_userbundle
login_path: /api/login
check_path: /api/login_check
username_parameter: username
password_parameter: password
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
require_previous_session: false
logout: true
anonymous: true
api:
pattern: ^/api
anonymous: false
provider: fos_userbundle
lexik_jwt: #par defaut check token in Authorization Header prefixer par Bearer
authorization_header: # check token in Authorization Header
enabled: true
prefix: Bearer
name: Authorization
cookie: # check token in a cookie
enabled: false
name: BEARER
query_parameter: # check token in query string parameter
enabled: true
name: bearer
throw_exceptions: true # When an authentication failure occurs, return a 401 response immediately
create_entry_point: false # When no authentication details are provided, create a default entry point that returns a 401 response
authentication_provider: lexik_jwt_authentication.security.authentication.provider
authentication_listener: lexik_jwt_authentication.security.authentication.listener
getListcommandes (idcommande: nombre): Observable { const url = '$ {} this.postUrlCommandes/$ {}' idcommande; let headers = new En-têtes ({'Autorisation': 'Porteur' + mytoken}); headers.append ('Content-Type', 'application/json'); let options = new RequestOptions ({en-têtes: en-têtes}); renvoyer this.http.get (url, en-têtes) .map ((réponse: Réponse) => { var résultat = réponse.json(); renvoyer le résultat; }); } –
J'ai déjà défini l'en-tête Porteur dans la fonction côté angulaire –
Bizarre, vous définissez des en-têtes mais ils n'apparaissent pas dans les en-têtes de la requête (à partir de la photo que vous avez téléchargée). – Nick