高端响应式网站开发,软件开发培训机构推荐就业吗,灵溪网站建设,后端开发培训机构对于我当前的项目#xff0c;我将使用Spring Boot设置REST API #xff08;最有可能使用BoxFuse运行#xff09;。 为了能够使用API端点#xff0c;应用程序将检查传入的请求是否具有较早提供的有效JWT令牌 #xff08;由我信任的API服务提供#xff09;。 为了实现… 对于我当前的项目我将使用Spring Boot设置REST API 最有可能使用BoxFuse运行。 为了能够使用API端点应用程序将检查传入的请求是否具有较早提供的有效JWT令牌 由我信任的API服务提供。 为了实现此功能我想利用Spring Security因为它与Spring Boot非常吻合。 在搜寻有关此组合的信息时我遇到了一个很好地描述背景信息的网站 但没有提供使它运行所需的所有必要资源。 因此经过更多调查和反复试验后我终于找到了一个可行的解决方案。 请注意在我的情况下我仅需要验证传入的令牌而无需创建或提供新的令牌。 示例的源代码可在此处在GitLab上找到。 该示例应用程序具有一个称为MainController的REST控制器。 启动应用程序后通过运行Application .main方法您可以使用以下地址访问REST端点 http// localhost8888 / helloname PalmApps 。 如您所见如果在浏览器中尝试执行此操作则会收到HTTP 401错误 要访问端点您将需要提供JWT令牌以便可以通过JwtAuthenticationFilter进行访问 。 要生成有效令牌请打开类JwtTokenGenerator的源并运行main方法该方法将在控制台中打印令牌 复制令牌并打开一个工具您可以使用该工具发送HTTP请求并将令牌添加到标头中例如Postman 有了令牌后您将看到预期的输出 {id: 2,content: Hello, PalmApps!
} 如果您通过POST请求访问端点http// localhost8888 / me 仍带有“ Authorization”标头则将以JSON格式获取Principal对象的详细信息 {details: null,authorities: [{authority: admin}],authenticated: true,principal: {username: Pascal,token: eyJhbGciOiJIUzUxMeJ9.eyJzdwIiOi....m72LpFADA,authorities: [{authority: admin}],password: null},credentials: null,name: Pascal
} 返回对象中的“主要”字段是我们的AuthenticatedUser 。 如果我们想从我们的JWT中获取更多信息那么我们可以简单地将其添加到该对象中并将其填充到JwtAuthenticationProvider中 。 翻译自: https://www.javacodegeeks.com/2016/05/validating-jwt-spring-boot-spring-security.html