zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Spring Cloud Security的核心组件-Cloud OAuth2 Client示例

SpringCloud组件 示例 核心 Client Security OAuth2
2023-06-13 09:18:29 时间

示例:

@RestController
public class ExampleController {

    private final OAuth2AuthorizedClientService authorizedClientService;

    public ExampleController(OAuth2AuthorizedClientService authorizedClientService) {
        this.authorizedClientService = authorizedClientService;
    }

    @GetMapping("/example")
    public String example(OAuth2AuthenticationToken authentication) {
        OAuth2AuthorizedClient authorizedClient = authorizedClientService.loadAuthorizedClient(
            authentication.getAuthorizedClientRegistrationId(),
            authentication.getName());
        String accessToken = authorizedClient.getAccessToken().getTokenValue();
        return "Access token: " + accessToken;
    }
}

在上面的示例中,我们注入了一个OAuth2AuthorizedClientService,它用于管理已授权的客户端信息。在example方法中,我们使用loadAuthorizedClient方法获取已授权的客户端信息,并从中提取访问令牌。这个访问令牌可以用来访问受保护的资源。

测试

现在,我们已经完成了所有必要的配置和代码,可以启动应用程序并尝试访问受保护的资源。可以使用以下命令来启动应用程序:

mvn spring-boot:run

然后,在浏览器中输入以下URL:

http://localhost:8080/example

如果一切正常,你应该会看到类似以下的输出:

Access token: <access-token>