如果我在Spring Security的OAuth2中具有用户名和密码身份验证,可以摆脱应用程序名称和机密吗?

时间:2018-10-05 16:27:09

标签: java spring spring-boot spring-security spring-security-oauth2

我有一个使用Spring Security和OAuth2的Spring引导应用

在扩展了AuthorizationServerConfigurerAdapter的OAuth2Config类中,我拥有

@Override
public void configure(final ClientDetailsServiceConfigurer clients) throws Exception {
    clients.inMemory()
            .withClient("name")
            .secret(passwordEncoder.encode("password"))
            .scopes("read", "write")
            .authorizedGrantTypes("password", "refresh_token", "client_credentials")
            .accessTokenValiditySeconds(20000)
            .refreshTokenValiditySeconds(20000);

}

在扩展WebSecurityConfigurerAdapter的SecurityConfig类中,我拥有

@Override
@Autowired
protected void configure(final AuthenticationManagerBuilder auth) throws Exception {
    auth.userDetailsService(userDetailsService)
            .passwordEncoder(encoder());
}

这意味着我需要使用“名称”和“密码”进行基本身份验证,并使用“ someUserInUserDatabase”和“ someUserInUserDatabasePassword”将表单数据提交到/ oauth / token端点,以便获得令牌。

但是,我只想提交“ someUserInUserDatabase”和“ someUserInUserDatabasePassword”,因为我看不到在我的应用程序使用的登录表单中提交“名称”和“密码”的好处,因为每个人都需要知道“名称”和“密码”,这对所有用户都是通用的,因此没有任何好处。

这可能吗?

0 个答案:

没有答案