【发布时间】:2017-10-17 13:35:21
【问题描述】:
这是我想要实现的目标:
我有一个企业 oauth 2 提供商,我想使用他们的登录表单并从该提供商那里获取代码、访问令牌等
这是我的个人资料
security:
oauth2:
client:
clientId: MY_CLIENT_ID
clientSecret: asecret
accessTokenUri: https://blabla/oauth-server/oauth/token
userAuthorizationUri: https://blabla/oauth-server/oauth/authorize
tokenName: access_token
scope : read
userInfoUri: https://localhost/user
我可以获取为访问令牌更改的代码,一切都很好,它正在调用我的本地端点来获取用户信息(例如角色)
但是当我调试代码时,我在任何地方都看不到任何 expires_in 值,而且我的令牌根本不会过期。
这是我的资源服务器配置
@EnableResourceServer
@EnableOAuth2Sso
@RestController
public class SecurityController extends ResourceServerConfigurerAdapter {
private static final String RESOURCE_ID = "my_rest_api";
@Override
public void configure(ResourceServerSecurityConfigurer resources) {
resources.resourceId(RESOURCE_ID).stateless(true);
}
@Override
public void configure(HttpSecurity http) throws Exception {
http.requestMatchers().anyRequest().and().authorizeRequests();
http.
anonymous().disable()
.requestMatchers().antMatchers("/**/*")
.and().authorizeRequests()
.antMatchers("/**/*").access("#oauth2.hasScope('read')")
.and().exceptionHandling().accessDeniedHandler(new OAuth2AccessDeniedHandler());
}
}
我不知道如何撤销令牌
欢迎任何想法,我已经失去了一堆小时阅读教程......
【问题讨论】:
标签: spring spring-boot spring-security oauth-2.0