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

2023-04-13 07:31:31 浏览数 (2)

示例:

代码语言:javascript复制
@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方法获取已授权的客户端信息,并从中提取访问令牌。这个访问令牌可以用来访问受保护的资源。

测试

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

代码语言:javascript复制
mvn spring-boot:run

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

代码语言:javascript复制
http://localhost:8080/example

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

代码语言:javascript复制
Access token: <access-token>

0 人点赞