【已解决】自定义LoginService不生效

KOCA版本 :3.x
KOCA模块 :AbstractLoginService implements LoginService
模块版本 :3.x
场景 :我自定义了AbstractLoginService,但是调用登录接口/auth/login没有触发其中的逻辑
问题 :如何使他生效?
报错细节 :
尝试解决方案:


这是我的配置

自定义loginservice需要几个步骤,第一个步骤是实现com.szkingdom.koca.auth.service.LoginService接口,这个最终非抽象类实现。
方法authenticate(T principal)是具体的校验逻辑。
String getAuthStrategy()方法是具体的策略返回。
实现完成后需要将对应的实现以Bean的形式创建。
并且需要配置
koca.security.auth-strategy.strategy-name= #对应的getAuthStrategy()返回的值
上面步骤都操作完成后,可以通过类UsernamePasswordProvider以及UsernamePasswordWebfluxProvider断点,调试,TrustedPrincipal authenticate(Principal principal)方法会最终进入自定义实现中

2 个赞

koca.security.auth-strategy.strategy-name= #对应的getAuthStrategy()返回的值
这个值应该填什么呢getAuthStrategy这个方法是哪里调用的呢?

并且需要配置
koca.security.auth-strategy.strategy-name= #对应的getAuthStrategy()返回的值 这个值我应该去哪里取呢?

strategy-name可以填写Koca,remote等值,我应该填写什么参数去让我自定义的loginservice生效呢请问


自己实现如此二个接口,
strategy-name填写getAuthStrategy()的返回值即可
文档:安全认证开发指南 | 金证开发者社区

你也可以参照KOCA源代码中的basic和koca策略进行参考

getAuthStrategy的返回值我可以自定是么,类似:image

然后我需要保证strategy-name的是我getAuthStrategy返回的
image

但是提示了:
image

我通过getAuthStrategy方法返回了我自定的值:
image

image

但是调用时发现:
image
不能找到我对应的实现