Я впервые занимаюсь вопросами безопасности.
Я следовал главе Установка комплекта аутентификации Lexik и файлу Lexik Authentication Sandbox Readme .
* 1008И это меня смущает.Я думаю, что одна страница говорит мне о кодировании в SHA-2, в то время как другая использует bcrypt, и на данный момент я установил для нее кодирование bcrypt.
У меня есть следующие настройки безопасности:
security:
encoders:
App\Security\User\WebserviceUser: bcrypt
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
webservice:
id: App\Security\User\WebserviceUserProvider
jwt:
lexik_jwt:
class: App\Security\User\WebserviceUser
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/login
stateless: true
anonymous: true
provider: webservice
json_login:
check_path: /login_check
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
client_list:
pattern: ^/api/client/active
stateless: true
anonymous: true
secured_area:
pattern: ^/api/
provider: webservice
stateless: true
guard:
authenticators:
- lexik_jwt_authentication.jwt_token_authenticator
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api, roles: IS_AUTHENTICATED_FULLY }
- { path: ^/api/client/active, roles: IS_AUTHENTICATED_ANONYMOUSLY }
И я создал следующие ключи:
$ openssl genrsa -out config/jwt/private.pem -aes256 4096
Enter pass phrase for config/jwt/private.pem:
Verifying - Enter pass phrase for config/jwt/private.pem:
$ openssl rsa -pubout -in config/jwt/private.pem -out config/jwt/public.pem
Enter pass phrase for config/jwt/private.pem:
writing RSA key
Когда я хочу выполнить вход в систему, проверка не выполняется:
$ curl -X POST -H "Content-Type: application/json" http://localhost:8000/login_check -d '{"username":"Pete","password":"password"}'
{"code":401,"message":"Bad credentials"}
Я проверил имя пользователя ипароль.Они оба верны и пробовали другие.
Я пробовал кодировщики открытого текста и создавал ключи так:
openssl genpkey -algorithm RSA -out config/jwt/private.pem -pkeyopt rsa_keygen_bits:4096
openssl rsa -pubout -in config/jwt/private.pem -out /config/jwt/public.pem
Этот работает .
Но открытый текст звучит небезопасно.
Что я делаю не так?