Java 使用OAuth2在spring security中进行用户授权
我目前正在使用spring security和spring boot调查OAuth2。虽然这个协议的概念对我来说很清楚,但实现细节却不清楚(spring没有提供很多示例和教程)。因此,我非常感谢您回答我的以下问题:Java 使用OAuth2在spring security中进行用户授权,java,spring,spring-security,oauth-2.0,Java,Spring,Spring Security,Oauth 2.0,我目前正在使用spring security和spring boot调查OAuth2。虽然这个协议的概念对我来说很清楚,但实现细节却不清楚(spring没有提供很多示例和教程)。因此,我非常感谢您回答我的以下问题: “密码”授权类型的用途是什么?OAuth2规范没有提到它。它只是某种“授权快捷方式”的Spring实现吗 资源服务器如何处理访问令牌(检查它是否仍然有效,范围等)?我是否需要实现一些东西,或者它是由Spring Security和ResourceServerConfig提供的 RS如
@Configuration
@EnableAuthorizationServer
public class OAuth2Config extends AuthorizationServerConfigurerAdapter {
@Autowired
private AuthenticationManager authenticationManager;
@Autowired
private MongoClientDetailsService cds;
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
endpoints.authenticationManager(authenticationManager);
}
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients.withClientDetails(cds);
}
}
任何帮助都将不胜感激:)这是很多问题;让我首先回答3个问题:
password
的grant\u类型是资源所有者密码凭据授予类型的官方保留值,如这里的规范所示:因此它不是特定于Spring的或自定义的
你说得对。我的误解是因为RFC明确指出密码授权类型的请求应该包括授权类型、密码、用户名和范围(可选)。但在一些文章和视频教程中,我发现对于这种补助类型,它们还提供AS可能需要的客户端id(仔细阅读RFC:)。这稍微澄清了一点问题。用户凭据身份验证呢?在我的案例中应该在哪里实施?