Ha *_*oan 3 java jackrabbit crx aem
我正在研究如何集成或自定义登录模块,以便与公开为RESTful API的外部用户系统一起使用。
我看到了AuthenticationHandler接口,但似乎它仅从用户请求中提取凭证。然后构建并将AuthenticationInfo对象发送到CRX登录模块以进行身份验证和授权。我在这一点上坚持。
有人知道AEM 6.0中的解决方案吗?
感谢并感谢您的帮助。
您可能要创建一个自定义的ExternalIdentityProvider,而不是一个自定义的AuthenticationHandler。一旦创建并安装了自己的身份提供程序捆绑包,AEM便会将其用于所有登录请求。本质上,AEM将在所有注册的身份提供者上调用“ authenticate”方法(基于其JAAS排名的顺序),如果任何模块成功登录,它将认为该用户已通过身份验证。您也不必担心创建JCR用户记录,因为默认的同步处理程序将自动为您处理。
您需要做的就是创建一个实现ExternalIdentityProvider的新服务类,并实现getName和authenticate方法。据我所知,普通登录方案中未使用其他方法。您还需要配置“ Apache Jackrabbit Oak外部登录模块”,以便它知道您的身份提供者的名称以及JAAS排名。
有关外部登录模块的更多详细信息,请参见:http : //jackrabbit.apache.org/oak/docs/security/authentication/externalloginmodule.html
您还可以通过查看GitHub中的oak-auth-ldap模块找到一个如何实现自定义外部登录模块的工作示例:https : //github.com/apache/jackrabbit-oak