2
我正在使用FOSRestBundle中的基本身份驗證。通過CURL命令來檢查我的API,表明它完美地工作。如何在使用基本身份驗證時識別用戶?
但是現在,我想知道確定執行POST操作的用戶(想象一下,用戶想要發表評論!該用戶是誰?)。事實上,正如您在下面的CURL命令中看到的,用戶和他的密碼以base64編碼。
# POST
curl -v -H "Accept: application/json" \
-H "Content-type: application/json" \
-H "Authorization: Basic YW1pbmU6c3RpZ21hdGFn" \
-X POST -d '{"test":{"x":"Amine","y":"Jallouli"}}'
http://localhost/tuto/web/app_dev.php/api/v1/test/add
有什麼建議嗎?
僅供參考,這是我在security.yml
firewalls:
#.....
rest_api:
pattern: ^/api/
stateless: true
http_basic:
provider: fos_userbundle
你應該能夠使用的安全上下文來獲取用戶在您的控制器,'$ user = $ this-> get('security.context') - > getToken() - > getUser();' – Sehael