php - 如果登录,Symfony 跳过 API 的 JWT 身份验证
问题描述
我的 symfony 5 项目有一个与安全相关的问题。
我用 hwiOAuthBundle 保护了主页,用 lexik jwt 保护了 API。
我的目标是,在浏览器中经过身份验证的用户可以在没有 jwt 的情况下访问 api,我该如何存档?
这是我的security.yaml:
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
api_login:
pattern: ^/api/login$
stateless: true
anonymous: true
provider: in_memory
json_login:
check_path: /api/login
success_handler: lexik_jwt_authentication.handler.authentication_success
failure_handler: lexik_jwt_authentication.handler.authentication_failure
require_previous_session: false
api:
pattern: ^/api
stateless: true
provider: in_memory
guard:
authenticators:
- 'App\Security\MyAuthenticator'
entry_point: 'App\Security\MyAuthenticator'
main:
anonymous: ~
provider: hwi
logout:
path: app_logout
oauth:
resource_owners:
google: "/login/check-google"
login_path: /login
use_forward: false
failure_path: /login
default_target_path: /
oauth_user_provider:
service: 'App\Security\GoogleOAuthUserProvider'
access_control:
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api, role: IS_AUTHENTICATED_FULLY }
- { path: ^/, roles: IS_AUTHENTICATED_FULLY }
有任何想法吗?提前致谢。
解决方案
推荐阅读
- javascript - 如何将每个标题属性转换为输入标签的值?
- c# - 将 jpg 图像保存到我的网络表单并将其链接到我的数据库?
- powershell - 在 VSTS azure powershell 上运行 Get-AzTableRow 命令时找不到类型 [Microsoft.Azure.Cosmos.Table.TableQuery] 错误显示
- javascript - 如何使用 ${var} 使用 RegExp 替换模板?
- perl - Perl DBI 不区分大小写的方法
- git - 使用解决合并冲突后恢复 _remote_ 文件
- sql-server - 在 Ubuntu 中将 SQL 服务器身份验证更改为 Azure Active Directory 身份验证后,Pyodbc 连接 SQL 服务器失败
- javascript - 当我的弹出窗口显示在博客上时,如何使所有背景都无法点击?
- r - 如何修复“无效因子水平”?
- web-services - 如何更改 SAP WSDL 标签或修改 Web 服务?