Identity Manager provides a Forgot your Password? link on User Application, but how about Forgot your Username?
While this may not be helpful for internal/corporate users, this may be helpful for citizens or customers that access their identities once a year or so. Here is a simple recipe using a custom raw JSP, that you can further customize to meet your requirements.
First, let's see what it looks like once deployed.
Figure 1: Link added to Guest pages.
Figure 2: Raw/simple JSP form for submitting request for username using e-mail address. The form includes basic validation.
Figure 3: email resulting from the request.
Now let's see what's behind the scene.
Figure 4: New Page in User Application, created using portal admin.
Figure 5: Using the iFrame Portlet to wrap the JSP.
Figure 6: In Content Preference, provide the url for the JSP.
Figure 7: The JSP can be deployed on JBoss using admin-console.
Figure 8: Deploy war using admin-console. Deploy war using admin-console.
Figure 9: New effective Class created for Requests. Derived from top, contained in Domain, Organizational Unit and Organization. Internet eMail Address is an optional attribute, CN is naming.
Figure 10: Instance of the class created to receive input from JSP form. Also proxy user created.
Figure 11: Trustee for proxy user, for Request object.
Figure 12: Specific attribute right(Write Internet EMail Address) for proxy user.
Now let's take a look at the last piece, filter and rule to add to a Null or Loopback driver.
Figure 13: Filter to detect events on Request object.
Figure 14: DirXML Script rule to Query the Vault for a user with the e-mail address(unique) and send an e-mail if a user is found.
You can download the DirXML Script rule, and war that includes JSP form, below.
You can add the DirXML Script rule to an Event Transform Policy on Subcriber Channel.