【问题标题】:Spring oauth jwt browser works while curl failsSpring oauth jwt浏览器在curl失败时工作
【发布时间】:2018-03-27 06:09:23
【问题描述】:

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

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

标准用户:

用户名:john.doe

密码:jwtpass

对于管理员:

用户名:admin.admin

密码:jwtpass

它按预期工作。

但是,当我使用 curl 时:

curl testjwtclientid:MaYzkSjmkzPC57L@infinite-tundra-6984.herokuapp.com/oauth/token -d grant_type=password -d username=admin.admin -d password=jwtpass

我得到一个像这样的令牌: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsidGVzdGp3dHJlc291cmNlaWQiXSwidXNlcl9uYW1lIjoiYWRtaW4uYWRtaW4iLCJzY29wZSI6WyJyZWFkIiwid3JpdGUiXSwiZXhwIjoxNTA4MTMxNzQwLCJhdXRob3JpdGllcyI6WyJTVEFOREFSRF9VU0VSIiwiQURNSU5fVVNFUiJdLCJqdGkiOiIyNjVmYmY5OS0wYWU3LTQ0MmQtOThjNy03ZTkxMmFhYWZlNWYiLCJjbGllbnRfaWQiOiJ0ZXN0and0Y2xpZW50aWQifQ.exXHqinGAfoPYLFYxhiWIsEg1FSSHxw34Snxdk0AqnU P>

然后我做:

卷曲https://infinite-tundra-6984.herokuapp.com/springjwt/cities -H “授权:承载eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsidGVzdGp3dHJlc291cmNlaWQiXSwidXNlcl9uYW1lIjoiYWRtaW4uYWRtaW4iLCJzY29wZSI6WyJyZWFkIiwid3JpdGUiXSwiZXhwIjoxNTA4MTMxNzQwLCJhdXRob3JpdGllcyI6WyJTVEFOREFSRF9VU0VSIiwiQURNSU5fVVNFUiJdLCJqdGkiOiIyNjVmYmY5OS0wYWU3LTQ0MmQtOThjNy03ZTkxMmFhYWZlNWYiLCJjbGllbnRfaWQiOiJ0ZXN0and0Y2xpZW50aWQifQ.exXHqinGAfoPYLFYxhiWIsEg1FSSHxw34Snxdk0AqnU” P>

我收到了 401

有人可以给我一些关于访问安全内容的两种方式之间的区别的提示吗?

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

【问题讨论】:

    标签: spring spring-boot spring-security oauth jwt


    【解决方案1】:

    我错过了这一步。

    在application.properties中,我需要添加这一行:

    security.oauth2.resource.filter-order = 3

    这让我花了很多时间

    【讨论】:

      猜你喜欢
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      • 2019-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-30
      • 1970-01-01
      相关资源
      最近更新 更多