springcloud oauth2 登录自动授权 autoapprove问题
问题描述:oauth2 配置数据源mysql 自动生成的autoapprove 查看字段为true但是还是弹出授权框
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
JdbcClientDetailsServiceBuilder builder = clients.jdbc(dataSource);
builder.passwordEncoder(passwordEncoder);
}
解决问题
检查返现mysq5.7自动生成的autoapprove类型为bit Java中使用这个字段
//类名org.springframework.security.oauth2.provider.client.BaseClientDetails
public boolean isAutoApprove(String scope) {
if (autoApproveScopes == null) {
return false;
}
for (String auto : autoApproveScopes) {
if (auto.equals("true") || scope.matches(auto)) {
return true;
}
}
return false;
}
所以将字段改为varchar类型,设定值为字符串类型的true即可
原文链接:https://blog.csdn.net/dsfllx/article/details/106604727