Tips for finding Knowledge Articles

  • - Enter just a few key words related to your question or problem
  • - Add Key words to refine your search as necessary
  • - Do not use punctuation
  • - Search is not case sensitive
  • - Avoid non-descriptive filler words like "how", "the", "what", etc.
  • - If you do not find what you are looking for the first time,reduce the number of key words you enter and try searching again.
  • - Minimum supported Internet Explorer version is IE9
Home  >
article

KB-5078: How to use Infinite Apps on login pages with dynamic input tag IDs

Centrify Identity Service, App Edition ,  

12 April,16 at 11:17 AM

Applies to: Centrify Identity Service

Question:

When using Infinite Apps to capture some login pages, the generated web app only seems to work for the first login after it is saved. Clicking on the web app again will load up the login page, but the Centrify Browser Extension doesn't seem to be able to fill in the login information anymore.

After looking at the page source of the login site, it was found that the tag IDs of the username and password input boxes are dynamically generated at each load. Examples of these types of pages include: Infinite Apps automatically creates Centrify Browser Extension web apps based on these ID values to detect where the username and password fields are, since these IDs are unique for each page load, is there any other way to get the CBE to detect the input boxes?


Answer:

The CBE uses CSS selectors to pick the username and password fields out of the webpage and although Infinite Apps will use the ID by default, this can be edited to use any other unique attribute in the input tag.

For example, to make the CBE work with monster.com:
  1. Use Infinite Apps to capture the monster.com Sign-In page.
     
  2. Once captured, go to Cloud Manager > Apps > click on the newly capture app > Advanced tab
     
  3. The captured values for the Username and Password sections may look similar to this:

    User-added image


     
  4. Go back to the login page in Firefox, right-click on the Username box and select "Inspect Element"

    User-added image
     
  5. This will open the code inspector panel in Firefox and highlight the selected tag. Look in this tag for an attribute that is most likely to be both unique and also won't change upon reloading.

    In the example below, a possible option would be the "title" attribute.
    User-added image
     
  6. Go back to the app's Advanced configuration in Cloud Manager and replace the User Name box with the chosen replacement attribute in the following format:

    tag_name[attribute_name='attribute_value']
    input[title='User Name']
     
  7. Repeat steps 4-6 for the Password box and save the app.

    User-added image
     
  8. Deploy the app and test. The CBE should now be able to detect the input boxes even after reloading the page.



Notes: 
  • It is also possible to use the CSS selectors to systematically narrow the scope that CBE needs to search in. This may be useful on pages where there are multiple login forms, and an elements' attribute is not unique for the whole page, but is still unique to its own particular section of the page:
User-added image
 
  • Each selector is space-delimited. Note that the whole tree doesn't need to be traced out exactly, it just needs to be enough to narrow the search scope for the CBE:
User-added image
 
  • Use the search box in Firefox's Inspector panel to quickly test if a given selector phrase is valid:
    • If the phrase is valid, then the element will be briefly highlighted on the webpage:
User-added image
  • If the phrase is invalid, then the search box will show a red border:
User-added image
 

    Still have questions? Click here to log a technical support case, or collaborate with your peers in Centrify's Online Community.