Tagged: forgerock, ForgeRock IDM, Identity Management
This topic has 9 replies, 1 voice, and was last updated 2 years, 3 months ago by rasarkar.
-
AuthorPosts
-
July 25, 2018 at 8:45 am #22597
Meiyappan
ParticipantHi Everyone,
We are using ForgeRock IDM (version 6.0). We Would like to know if there is any possibility to create Custom Self Registration Stage in ForgeRock IDM.
For Example, during the user self registration, if OTP should be sent to the user and validated in ForgeRock IDM, can some one help by giving some pointers.Also, is there any possibility to send different Registration mail for different users based on role or based on some attributes?(i.e.) When Admin self Registers, he should get Registration Mail which should be different from other users.
Thanks,
MeiyappanJuly 25, 2018 at 9:24 am #22598Hanns Nolan
ParticipantA good starting point should be my wiki page at https://wikis.forgerock.org/confluence/display/openidm/Selfservices+in+IDM6
July 25, 2018 at 10:45 pm #22604Andrew Potter
ParticipantI wrote a blog on creating a custom self-service stage.
See: http://yaunap.blogspot.com/2017/06/forgerock-self-service-custom-stage.html
It’s for v5, but applies to v6 equally.August 3, 2018 at 1:37 pm #22714Meiyappan
ParticipantThank you Andrew Potter & Hanns Nolan for the inputs.
August 3, 2018 at 1:38 pm #22715Meiyappan
ParticipantWe referred to the below blogs for custom stages.
1. http://yaunap.blogspot.com/2017/06/forgerock-self-service-custom-stage.html
2. http://yaunap.blogspot.com/2016/07/custom-stages-to-user-self-service_1.htmlWe reused the MathProblemStageConfig class (2nd blog). We compiled the code for MathProblemStageConfig class. No compilation error was thrown.
We placed the jar inside the /bundle folder of open idm folder.
We modified the selfservice-registration.json as belowstageConfigs”: [
{
“class” : “org.forgerock.selfservice.custom.MathProblemStageConfig”,
“leftValue” : 12,
“rightValue” : 4
},When we restart the server or try clicking on the register link, following error is thrown.
Cannot locate class ‘org.forgerock.selfservice.custom.MathProblemStageConfig’, problem: org.forgerock.selfservice.custom.MathProblemStageConfig not found by org.forgerock.openidm.selfservice
Can anyone please let us know what else need to be done to load the class. Do we need to register the jar using any commands?
Thanks in advance.
Regards,
Meiyappan-
This reply was modified 3 years, 11 months ago by
Meiyappan.
August 3, 2018 at 1:39 pm #22717Meiyappan
ParticipantComplete Exception:
Aug 03, 2018 2:01:17 AM org.forgerock.openidm.selfservice.impl.SelfServiceFactory createInstance
WARNING: Unable to instantiate or register service: registration
java.lang.IllegalArgumentException: Unable to load class for {“class”:”org.forgerock.selfservice.custom.MathProblemStageConfig”,”leftValue”:12,”rightValue”:4} (through reference chain: org.forgerock.selfservice.core.config.ProcessInstanceConfig[“stageConfigs”]->java.util.ArrayList[1])
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:3738)
at com.fasterxml.jackson.databind.ObjectMapper.convertValue(ObjectMapper.java:3656)
at org.forgerock.selfservice.json.JsonConfig.buildProcessInstanceConfig(JsonConfig.java:107)
at org.forgerock.selfservice.json.JsonAnonymousProcessServiceBuilder.build(JsonAnonymousProcessServiceBuilder.java:137)
at org.forgerock.openidm.selfservice.impl.SelfServiceProcessHandler.<init>(SelfServiceProcessHandler.java:136)
at org.forgerock.openidm.selfservice.impl.SelfServiceFactory.createInstance(SelfServiceFactory.java:278)
at org.forgerock.openidm.selfservice.impl.SelfServiceFactory.lambda$modified$1(SelfServiceFactory.java:162)
at java.util.Optional.ifPresent(Optional.java:159)
at org.forgerock.openidm.selfservice.impl.SelfServiceFactory.modified(SelfServiceFactory.java:159)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.felix.scr.impl.inject.BaseMethod.invokeMethod(BaseMethod.java:224)
at org.apache.felix.scr.impl.inject.BaseMethod.access$500(BaseMethod.java:39)
at org.apache.felix.scr.impl.inject.BaseMethod$Resolved.invoke(BaseMethod.java:617)
at org.apache.felix.scr.impl.inject.BaseMethod.invoke(BaseMethod.java:501)
at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:302)
at org.apache.felix.scr.impl.inject.ActivateMethod.invoke(ActivateMethod.java:294)
at org.apache.felix.scr.impl.manager.SingleComponentManager.invokeModifiedMethod(SingleComponentManager.java:772)
at org.apache.felix.scr.impl.manager.SingleComponentManager.modify(SingleComponentManager.java:727)
at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:645)
at org.apache.felix.scr.impl.manager.SingleComponentManager.reconfigure(SingleComponentManager.java:609)
at org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.configurationUpdated(ConfigurableComponentHolder.java:426)
at org.apache.felix.scr.impl.manager.RegionConfigurationSupport.configurationEvent(RegionConfigurationSupport.java:273)
at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.sendEvent(ConfigurationManager.java:2074)
at org.apache.felix.cm.impl.ConfigurationManager$FireConfigurationEvent.run(ConfigurationManager.java:2042)
at org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:141)
at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:109)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Unable to load class for {“class”:”org.forgerock.selfservice.custom.MathProblemStageConfig”,”leftValue”:12,”rightValue”:4} (through reference chain: org.forgerock.selfservice.core.config.ProcessInstanceConfig[“stageConfigs”]->java.util.ArrayList[1])
at org.forgerock.selfservice.core.config.ClassNameFallbackPropertyTypeDeserializer._deserializeTypedUsingDefaultImpl(ClassNameFallbackPropertyTypeDeserializer.java:85)
at com.fasterxml.jackson.databind.jsontype.impl.AsPropertyTypeDeserializer.deserializeTypedFromObject(AsPropertyTypeDeserializer.java:105)
at com.fasterxml.jackson.databind.deser.AbstractDeserializer.deserializeWithType(AbstractDeserializer.java:254)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:288)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:245)
at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:27)
at com.fasterxml.jackson.databind.deser.impl.MethodProperty.deserializeAndSet(MethodProperty.java:127)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:288)
at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:151)
at com.fasterxml.jackson.databind.ObjectMapper._convert(ObjectMapper.java:3733)
… 29 more
Caused by: java.lang.IllegalArgumentException: Failed to parse type ‘org.forgerock.selfservice.custom.MathProblemStageConfig’ (remaining: ”): Cannot locate class ‘org.forgerock.selfservice.custom.MathProblemStageConfig’, problem: org.forgerock.selfservice.custom.MathProblemStageConfig not found by org.forgerock.openidm.selfservice [227]
at com.fasterxml.jackson.databind.type.TypeParser._problem(TypeParser.java:91)
at com.fasterxml.jackson.databind.type.TypeParser.findClass(TypeParser.java:85)
at com.fasterxml.jackson.databind.type.TypeParser.parseType(TypeParser.java:47)
at com.fasterxml.jackson.databind.type.TypeParser.parse(TypeParser.java:33)
at com.fasterxml.jackson.databind.type.TypeFactory.constructFromCanonical(TypeFactory.java:534)
at org.forgerock.selfservice.core.config.ClassNameFallbackPropertyTypeDeserializer._deserializeTypedUsingDefaultImpl(ClassNameFallbackPropertyTypeDeserializer.java:68)
… 38 moreDecember 5, 2018 at 9:35 pm #24064jpjensen
ParticipantI am getting the same error when I try to follow this https://backstage.forgerock.com/docs/idm/6.5/self-service-reference/#chap-custom-stages documentation. Has anyone figured out what we are doing wrong when trying to follow this example?
March 11, 2020 at 4:45 pm #27734rasarkar
ParticipantDid anyone figure out what the problem was? I am facing the same issue.
-
This reply was modified 3 years, 11 months ago by
-
AuthorPosts
You must be logged in to reply to this topic.