gpt4 book ai didi

spring - IdentityServer4 API 资源和 Spring 框架

转载 作者:行者123 更新时间:2023-12-05 04:02:15 26 4
gpt4 key购买 nike

我已经配置了一个 IdentityServer4 服务器来保护我的 API 资源。

我已将基于 .NET Core 的 API 资源链接到身份服务器,但我需要知道如何链接基于 Java 的 API 资源。

我有一个基于 Spring Framework 的 REST API,我需要以一种方式配置它,以便它使用 Identity Server 验证传入的 JWT token 。

最佳答案

我找到了我自己问题的答案。

我使用 Gradle,所以我将以下行添加到我的 build.gradle 文件中:

compile group: 'org.springframework.security.oauth.boot', name: 'spring-security-oauth2-autoconfigure', version: '2.1.1.RELEASE'

然后是我的 application.properties 文件,我添加了以下内容:

security.oauth2.client.client-id=<API_RESOURCE_ID>
security.oauth2.client.client-secret=<API_RESOURCE_SECRET>
security.oauth2.client.access-token-uri=<TOKEN_ENDPOINT>
security.oauth2.client.user-authorization-uri=<AUTHORIZE_ENDPOINT>
security.oauth2.client.scope=openid
security.oauth2.resource.filter-order=3
security.oauth2.resource.user-info-uri=<USERINFO_ENDPOINT>
security.oauth2.resource.token-info-uri=<INTROSPECT_ENDPOINT>
security.oauth2.resource.prefer-token-info=true

logging.level.org.springframework.security=DEBUG

然后我需要实现ResourceServerConfigurerAdapter接口(interface)。

@Override
public void configure(HttpSecurity http) throws Exception {
http
.requestMatcher(new RequestHeaderRequestMatcher("Authorization"))
.authorizeRequests().anyRequest().fullyAuthenticated();
}

@Override
public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
resources.resourceId(<API_RESOURCE_ID>);
}

最后将 @EnableOAuth2Sso 添加到我的 Application.java 文件中。

关于spring - IdentityServer4 API 资源和 Spring 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54524514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com