Spring oauth jwt浏览器在curl失败时工作



我关注了spring-oauth-jwt的博客:https://medium.com/@nydiarra/secure-a-spring-bot-rest-api-with-json-web-token-reference-to-angular-integration-e57a25806c50

在Chrome或IE边缘等浏览器中,当我转到https://infinite-tundra-6984.herokuapp.com/springjwt/cities,系统会提示我输入用户名和密码。

对于标准用户:

用户名:john.doe

密码:jwtpass

管理员:

用户名:admin.admin

密码:jwtpass

它按预期工作。

然而,当我使用卷曲时:

curl testjwtclientid:MaYzkSjmkzPC57L@infinite-tundra-6984.herokuapp.com/oauth/token-d grant_type=密码-d用户名=管理员-d密码=jwtpass

我得到一个令牌,比如:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsidGVzdGp3dHJlc291cmNlaWQiXSwideXNlcl9uYW1lIjoiYWrtaW4uYwrtaW4ILCJzY29wZSI6WyJyZWFkIwide3JpdGUiXSwiZXhwIjoxNTA4MTMxNzQwLCJhdXRob3JpdGllcy6WyJTVEFOREFRF9VU0VSIiwiQURNSU5fVVNFUiJdLqdGkiOiyNjVmYm Y5OS0wYWU3LTQ0MmQtThjNy03ZTkxMmFhYWZlNWYiLCJjbGllbnRFaWQiOiJ0ZXN0和0Y2xpZW50aWQifQ.exXHqinGAfoPYLFYxhiWIsEg1FSSHxw34Snxdk0AqnU

然后我做:

卷曲https://infinite-tundra-6984.herokuapp.com/springjwt/cities-H"授权:承载人eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsidGVzdGp3dHJlc291cmNlaWQiXSwidXNlcl9uYW1lIjoiYwrtaW4uYwrtaw4ILCJzY29wZSI6WyJyZWFkIiwid3JpdGUiXSwiZXhwIjoxNTA4MTMxNzQwLCJhdXRob3JpdGllcy6WyJTVEFORESRF9VU0VSIiwiQURNSU5fVVNFUiJdCJqdGkiOiOi IyNjVmYmY5OS0wYWU3LTQ0MmQtThjNy03ZTkxMmFhYWZlNWYiLCJjbGllbnRFaWQiOiJ0ZXN0和0Y2xpZW50aWQifQ.exXHqinGAfoPYLFYxhiWIsEg1FSSHxw34Snxdk0AqnU">

我有401

有人能告诉我这两种访问安全内容的方式之间的区别吗?

使用curl/token访问,它似乎无法确定我的角色

我错过了这一步。

在application.properties中,我需要添加以下行:

security.oauth2.resource.filter-order = 3

这给我带来了很多时间

最新更新