Symfony3 erreur 500

erreur 500 a la création d'un utilisateur

a marqué ce sujet comme résolu.

Bonjour,

Après un petit temps sur d’autre projet, J’ai une erreur avec mon API rest et le tuto de Best Coder. A l’ajout d’un nouvel utilisateur.. Voici l’erreur: ```php "error":{"code":500,"message":"Internal Server Error","exception":[{"message":"X-Auth-Token header is required","class":"Symfony\Component\Security\Core\Exception\BadCredentialsException","trace":

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
...

Merci pour vos réactions.

[UPDATE]
Je met ce post à jour car j'ai en partie compris le souci..
Ma question est toute autre du coup.
Je ne sait pas si cela est possible dans le tuto, mais après avoir créer un utilisateur,
Est- il possible de rajouter un utilisateur sans token?

Le bout de code du fichier security.yml après modif me permet de rajouter un user.
mais quand j'implémenter le code du token je ne peux plus ajouter de user.
Cela est problème car je ne comprends pas..

voici le fichier security.yml ou l'ajout de user est possible:

```php
security:
    providers:
        in_memory:
            memory: ~
    firewalls:
        # disables authentication for assets and the profiler, adapt it according to your needs
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        main:
            anonymous: ~
            # activate different ways to authenticate

            # http_basic: ~
            # http://symfony.com/doc/current/security.html#a-configuring-how-your-users-will-authenticate

            # form_login: ~
            # http://symfony.com/doc/current/cookbook/security/form_login_setup.html
    encoders:
        Api\RestBundle\Entity\User:
            algorithm: bcrypt
            cost: 12
+0 -0

Salut,

C’est normal. Une fois la sécurité est activé, il n’est plus possible de créer un utilisateur. Si tu veux autoriser des utilisateurs à se créer eux mêmes des comptes sans authentification, tu peux simplement exclure l’URL de création d’utilisateur de la partie sécurisée.

Tu peux par exemple modifier le AuthTokenAuthenticator pour gérer exclure facilement plusieurs URLs.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?php
 $targetUrl = '/auth-tokens';
 // Si la requête est une création de token, aucune vérification n'est effectuée
 if ($request->getMethod() === "POST" && $this->httpUtils->checkRequestPath($request, $targetUrl)) {
     return;
 }
  $targetUrl = '/users;
// Si la requête est une création d'utilisateur, aucune vérification n'est effectuée
 if ($request->getMethod() === "POST" && $this->httpUtils->checkRequestPath($request, $targetUrl)) {
     return;
 }

Si le nombre d’url et de méthodes à autoriser est conséquent, tu peux créer un service dédié qui sera appelé par l’authenticator.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte