keycloak~为认证提供者添加配置项

keycloak提供多种认证提供者,如用户名密码的方式,第三方社区的方式,一般来说,第三方社区的方式都是符合oauth2标准的,第三方社区像github,google,weixin之类的都需要你去申请个appid,appsecret,而这些信息我们不要硬编码,kc为我们提供了一种配置的方式,在kc管理平台中去配置它们。
几种认证接口

Authenticator 认证接口AbstractFormAuthenticator 表单认证AbstractUsernameFormAuthenticator 用户名和密码的表单认证BaseDirectGrantAuthenticator 直接认证接口
IdentityProvider 认证服务的标准接口,所有三方认证服务都实现它AbstractIdentityProvider 证服务的抽象类AbstractOAuth2IdentityProvider 提供了oauth2的标准SocialIdentityProvider 第三方社区认证

认证服务的配置

为ProviderConfigProperty对象添加配置集合
   private static final List configProperties = new ArrayList<>();static {List config = ProviderConfigurationBuilder.create().property().name(DEFAULT_REGISTER_ADDRESS).label("默认注册页").helpText("不设置时,前端登录显示不显示'注册'按钮").type(ProviderConfigProperty.STRING_TYPE).add().property().name(FORGET_PASSWORD_ADDRESS).label("忘记密码页").helpText("不设置时,前端不显示'忘记密码'按钮").type(ProviderConfigProperty.STRING_TYPE).add().property().name(SHOW_AUTO_LOGIN).label("显示自动登录").type(ProviderConfigProperty.BOOLEAN_TYPE).add().property().name(WEIXIN_CALLBACK).label("微信回调地址").type(ProviderConfigProperty.STRING_TYPE).add().build();configProperties.addAll(config);}
重写可配置方法
  @Overridepublic boolean isConfigurable() {return true;}
返回配置对象
  @Overridepublic List getConfigProperties() {return configProperties;}

获取配置荐

直接获取
String regAddr=context.getAuthenticatorConfig().getConfig().get(DEFAULT_REGISTER_ADDRESS)
将配置通过表单属性传递到前端ftl里
LoginFormsProvider forms = context.form();
if (context.getAuthenticatorConfig() != null&& context.getAuthenticatorConfig().getConfig() != null) {forms.setAttribute(SHOW_AUTO_LOGIN, context.getAuthenticatorConfig().getConfig().get(SHOW_AUTO_LOGIN));forms.setAttribute(WEIXIN_CALLBACK, context.getAuthenticatorConfig().getConfig().get(WEIXIN_CALLBACK));}
前端直接使用
${(account.email!'未设置')}

只要一步一个脚印,水滴石穿,吃透、搞懂、拿捏住是完全没有问题的!看到这里的都是妥妥的铁粉无疑了,底下是微信,找到的可是有大把源码,学习路线思维导图啥的,多的我就不透露,539413949看大家自己的积极性了啊,热爱所热爱的,学习伴随终生


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部