我关注了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
这给我带来了很多时间