keycloak提供多种认证提供者,如用户名密码的方式,第三方社区的方式,一般来说,第三方社区的方式都是符合oauth2标准的,第三方社区像github,google,weixin之类的都需要你去申请个appid,appsecret,而这些信息我们不要硬编码,kc为我们提供了一种配置的方式,在kc管理平台中去配置它们。
几种认证接口
Authenticator 认证接口
AbstractFormAuthenticator 表单认证
AbstractUsernameFormAuthenticator 用户名和密码的表单认证
BaseDirectGrantAuthenticator 直接认证接口
IdentityProvider 认证服务的标准接口,所有三方认证服务都实现它
AbstractIdentityProvider 证服务的抽象类
AbstractOAuth2IdentityProvider 提供了oauth2的标准
SocialIdentityProvider 第三方社区认证
认证服务的配置
为ProviderConfigProperty对象添加配置集合
private static final List<ProviderConfigProperty> configProperties = new ArrayList<>();
static {
List<ProviderConfigProperty> config = ProviderConfigurationBuilder.create()
.property()
.name(DEFAULT_REGISTER_ADDRESS).label("默认注册页").helpText("不设置时,前端登录显示不显示'注