@PreAuthorize("#oauth2.hasAnyScope('web', 'client')")
@PreAuthorize("#oauth2.hasScope('app')")
@PreAuthorize("#oauth2.hasScope('admin:user')")
@Api(tags = "后台用户的接口")
@RestController
@RequestMapping("sys/user")
@PreAuthorize("#oauth2.hasAnyScope('web', 'client')")
public class SysUserController {
/**
* 配置第三方应用
* password 只要是登录都用这个授权方式
* 客户端授权 用于微服务之间自发的进行远程调用时 资源服务器必须要token的情况 当然也是可以放行服务提供者的接口的
*
* @param clients
* @throws Exception
*/
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients.inMemory()
.withClient("web")
.secret(passwordEncoder.encode("web-secret"))
.scopes("web")
.authorizedGrantTypes("password")
.accessTokenValiditySeconds(7200)
.redirectUris("https://www.baidu.com")
.and()
.withClient("client")
.secret(passwordEncoder.encode("client-secret"))
.scopes("client")
.authorizedGrantTypes("client_credentials")
.accessTokenValiditySeconds(Integer.MAX_VALUE) // 客户端授权 内部调用的永久token 66年
.redirectUris("https://www.baidu.com")
// like12 add,20230806,新增手机端支持
.and()
.withClient("app")
.secret(passwordEncoder.encode("app-secret"))
.scopes("app")
.authorizedGrantTypes("password")
.accessTokenValiditySeconds(2592000) // 30天
.redirectUris("https://www.baidu.com")
;
}