Using 1Password on sites that change form fields for semi-logged-in users

Hi,

My investing platform, www.iii.co.uk, does something slightly funky which means 1Password autofill often doesn't work. When I log in for the first time (https://trading.iii.co.uk) in a new web browser (or after a long period of not logging in), my 1P autofill works fine. If my session then times out, or I close and re-open the browser window, the login page changes as the platform keeps me semi-logged-in; the username field is automatically filled in, but the password field won't autofill with 1P.

Is there anything I can do to make 1P autofill on this second login form? I'd rather not have a duplicate entry for the investing platform inside 1P, but can't see how else I might make this work.

Any advice appreciated.

Thanks,
Paul


1Password Version: 6.7.1 (671001)
Extension Version: 4.6.6.90
OS Version: MacOS Sierra 10.12.4
Sync Type: Dropbox

Comments

  • pjlewis
    pjlewis
    Community Member

    To add some more information:

    On the first login screen, the form ID is "loginauth" and the field IDs are:
    Username: login-login_username
    Password: login-login_password

    On the second, semi-logged-in login screen, the form ID is also "loginauth" and the field IDs are:
    Username: login-login_username, not editable
    Password: login-login_password

    So basically, I can't see why this shouldn't work, but it doesn't >_<

  • jxpx777
    jxpx777
    1Password Alumni

    Interesting, @pjlewis. Thanks for that detective work. My guess is that there is another password field on the page somewhere, perhaps out of view, and that that one is getting filled. Can you check if there are any other password fields? document.querySelectorAll('[type=password]') should get you a list.

    --
    Jamie Phelps
    Code Wrangler @ AgileBits
    Fort Worth, Texas

  • pjlewis
    pjlewis
    Community Member

    Hi Jamie,

    Can you guide me through the steps to do this please? I'm using Chrome on Mac.

    Thanks,
    Paul

  • littlebobbytables
    littlebobbytables
    1Password Alumni

    Greetings @pjlewis,

    I think the easiest way to do this is as follows.

    1. Visit the page you wish to inspect.
    2. Right click on the page and select the menu option Inspect from the contextual menu that appears.
    3. I'm a bit hazy on the default setting for what follows next. A separate window (my own preference) or pane on the current window will appear and will be titled Developers Tools. Select the Console tab at the top.
    4. You should then be able to copy and paste the command Jamie offered. A minor modification, document.querySelectorAll('[type=password]').length will have it only return a number which represents the count of the password fields present on the page.

    Another approach, just for testing purposes, would be to manually save a new Login item in both scenarios using the steps outlined on our page How to save a Login manually in your browser. If you then compare the website form details sections of the two how much do do you find they differ?

    When I tried looking at the page you linked us to it asked for two digits from a PIN and was using password fields. Does it do this for you and is it also required when confirming?

  • pjlewis
    pjlewis
    Community Member

    Hi @littlebobbytables,

    Thanks for the advice. When I follow those steps, I get '0' results for that query:
    document.querySelectorAll('[type=password]').length
    0

    If I run the same query against the 'fully logged out' form - the one you will be seeing - I get '3' results:
    document.querySelectorAll('[type=password]').length
    3

    Yes you're right - there are two fields for entering digits from your PIN, and the password field. I'm ok with entering the PIN digits manually, it's just more of a pain to have to copy and paste the password to log in, especially on mobile.

    I'll take a look at saving a manual login item to see if that helps and will report back.

  • pjlewis
    pjlewis
    Community Member

    Ok, so another update:

    • In my original 1P login, I have standard 'username' and 'password' fields in the web form, which work fine for the main login page
    • When I save a new manual login, I get different fields in the form: login[login_username] and login[login_password], which match the field names I found above

    However, the form filling still doesn't work on the semi-logged in page. The manual entry does work with the normal login page though.

    Any ideas what they've done to the 'semi-logged-in' page to make it break in this way?

  • littlebobbytables
    littlebobbytables
    1Password Alumni

    Hi @pjlewis,

    I apologise, if I've understood your replies correctly I didn't make part of my request clear enough. I am curious, even more so after your replies, to see what a manually saved Login item when saved on the semi-logged in page looks like. It's just to give us an indicator of what 1Password is seeing when looks at the semi-logged in page. I'm not suggesting you maintain two Login items for this site, but it could offer some insight as to what might work.

    There is something else that might be worth trying.

    1. Create a new Login item from inside the main 1Password window and title it accordingly to help differentiate it from the others.
    2. Set the website field to https://trading.iii.co.uk/user/login
    3. Set the username and password fields accordingly.
    4. Save the Login item.
    5. Edit the Login item and click the show web form details button.
    6. Alter the title of the stored username field from username to login-login_username
    7. Alter the title of the stored password field from password to login-login_password.
    8. Save.

    What we're doing here is leveraging a filling strategy that exists in 1Password but isn't routinely used. When it comes to filling strategies we do have to be careful because of the massive impact a new one might have and so we only use it under certain circumstances which these steps will meet. I don't know for certain if it will work but it will be of interest to see.

This discussion has been closed.