Troubleshooting

This chapter offers solutions to issues that may occur when developing authentication nodes.

Q:

I installed my node in AM. Why doesn't it appear in the authentication tree designer?

A:

The authNodeName.properties file for your node must include a nodeDescription property to ensure that that your node appears in the authentication tree designer.

AM uses the nodeDescription property value as the name of your node.

Q:

How do I get new attributes to appear in the node after the service has been loaded once?

A:

See "Upgrading Nodes and Configuration Changes".

Q:

What type of exception should I throw so that the framework handles it gracefully?

A:

To display a custom message to the user, exceptions must be handled inside the node and an appropriate information callback returned. For more information, see "Handling Errors".

Q:

Do I need multiple projects/jars for multiple nodes?

A:

No - you can bundle multiple nodes into one plugin, which should be deployed in one single .jar file.

See Building and Installing.

Q:

What ForgeRock utilities exist for me to use to assist in the node building experience?

A:

A number of utilities are available for use in your integrations and custom nodes.

See the AM 7.1.4 Public API Javadoc.

Q:

Transient State vs Shared State - When should I use one or the other?

A:

Transient state is used for secret values that should not persist. See "Storing Values in Shared Tree State".

Q:

If my service collects a username in a different way from the Username Collector Node, where do I put the username from the framework to get the principal?

A:

See "Accessing an Identity's Profile".

Q:

Where do I go for examples of authentication nodes?

A:

There are many public examples of ForgeRock community nodes at https://github.com/ForgeRock.

Examples of community nodes written by third parties may be found on the ForgeRock Marketplace.

For information on downloading and building AM sample source code, see How do I access and build the sample code provided for AM (All versions)? in the Knowledge Base.

Read a different version of :