Search results finding unrelated(?) results?
I was recently excited when I found your article on adding one time passwords (OTP) to 1Password 6. Awesome feature!
So this morning after opting into the 1Password 7 beta I decided to go looking for those "OTP" records. 1Password 7 is strangely returning other records that do not have my newly added "OTP" field, and I cannot find anywhere within these extra results any sequence of "OTP". I've expanded the web form details and examined passwords and any data that I can see as stored. What is 1Password 7 finding?
1Password Version: 7.0.BETA-4
Extension Version: 7.0.BETA-4
OS Version: macOS 10.13.4
Sync Type: iCloud & Dropbox
Comments
-
Hey @elDub! How are you searching for those items? If your search is
OTP
, that wouldn't find items with TOTPs unless the fields are calledOTP
, and you would need to expand the search to all fields for that to work. I just did a search forOTP
in all fields and found my O2 DE account in the results, because it has a field calledotp
in its web form details. Click "show web form details" to see those, and you might find the field 1Password is finding in its searches.A more accurate search for TOTPs would be something like what Drew mentions here. :) Hope that helps!
0 -
@elDub - It kind of depends what you're looking for, and how: searching for "OTP" won't return records that have a TOTP field active, because it's not actually called that. If you want to have a way to search for only those items that have one-time password fields, you can create a tag called
TOTP
orOTP
, and add this tag each time you create a new TOTP record.0 -
Hey Jacob.
I am executing my search in the main search bar as follows:
And I have named the one-time-password fields "OTP". In the search results it does find all the correct entries with the "OTP" as a field name, however it includes 2 additional records in which I cannot find any such text that has the sequence of "o"-"t"-"p" anywhere.
0 -
@elDub Okay good to know. Let's check out those items and see what's causing your search to turn up the way it does. First, enable the ability to copy an item's JSON so you can see its source:
- Open and unlock 1Password for Mac.
- Click 1Password > Preferences and select Advanced.
- Enable Copy JSON.
Now select one of the items that shouldn't be in the search results and in the menu bar choose Item > Copy JSON. Paste that in a text editor, then remove or replace any sensitive information like your username, password, and anything else in the item. Post the rest here, along with the JSON for the other item that is in the search results. Thanks! :)
0 -
Ok, that revealed how these records were included in the search results... Now to determine if they should be in the results.
Within the "details":"fields" section of the JSON there are some form fields that are not visible in the UI. (I'm assuming that this rather strange collection of fields is part of what makes 1Password do its magic.) Note the 6th field (index 5) as it has the name of
forgotPassword
, which contains the sequenceO
T
P
.json[:details][:fields]
[ [ 0] { :value => "REDACTED", :id => ";opid=__0", :name => "user", :type => "E", :designation => "username" }, [ 1] { :value => "REDACTED", :id => ";opid=__1", :name => "pass", :type => "P", :designation => "password" }, [ 2] { :value => "Sign in", :id => ";opid=__2", :name => "login", :type => "I" }, [ 3] { :value => "", :id => ";opid=__3", :name => "", :type => "I" }, [ 4] { :value => "", :id => ";opid=__4", :name => "user", :type => "E" }, [ 5] { :value => "Submit", :id => ";opid=__5", :name => "fogotPassword", :type => "I" }, [ 6] { :value => "", :id => ";opid=__6", :name => "powerCardNumber", :type => "T" }, [ 7] { :value => "", :id => ";opid=__7", :name => "powerCardPin", :type => "T" }, [ 8] { :value => "", :id => ";opid=__8", :name => "", :type => "I" }, [ 9] { :value => "", :id => ";opid=__9", :name => "", :type => "I" }, [10] { :value => "", :id => ";opid=__10", :name => "", :type => "I" }, [11] { :value => "", :id => ";opid=__11", :name => "", :type => "I" }, [12] { :value => "", :id => ";opid=__12", :name => "", :type => "I" }, [13] { :value => "", :id => ";opid=__13", :name => "", :type => "I" }, [14] { :value => "", :id => ";opid=__14", :name => "", :type => "B" }, [15] { :value => "", :id => ";opid=__15", :name => "", :type => "I" }, [16] { :value => "", :id => ";opid=__16", :name => "", :type => "I" }, [17] { :value => "", :id => ";opid=__17", :name => "", :type => "T" }, [18] { :value => "Search Locations", :id => ";opid=__18", :name => "", :type => "I" }, [19] { :value => "", :id => ";opid=__20", :name => "", :type => "T" }, [20] { :value => "Search Locations", :id => ";opid=__21", :name => "", :type => "I" } ]
0 -
Awesome... this reveals why these items were included in the search results. Now to determine if they should be included in the search results.
When I examined the
[details][fields]
attribute of the JSON data, I can see what I assume are field names and form data that allows 1Password to do its magic. Note the 6th field (index 5) and how the name isfogotPassword
. The other odd search result entry also had a field with the same name. This is where I assume the match is happening... theotP
.Also note how these fields are not visible at all in the UI, probably because it would be hard to explain them to the user.
Should/Could these fields be omitted from search results?
UI:
JSON:
[ [ 0] { :value => "REDACTED", :id => ";opid=__0", :name => "user", :type => "E", :designation => "username" }, [ 1] { :value => "REDACTED", :id => ";opid=__1", :name => "pass", :type => "P", :designation => "password" }, [ 2] { :value => "Sign in", :id => ";opid=__2", :name => "login", :type => "I" }, [ 3] { :value => "", :id => ";opid=__3", :name => "", :type => "I" }, [ 4] { :value => "", :id => ";opid=__4", :name => "user", :type => "E" }, [ 5] { :value => "Submit", :id => ";opid=__5", :name => "fogotPassword", :type => "I" }, [ 6] { :value => "", :id => ";opid=__6", :name => "powerCardNumber", :type => "T" }, [ 7] { :value => "", :id => ";opid=__7", :name => "powerCardPin", :type => "T" }, [ 8] { :value => "", :id => ";opid=__8", :name => "", :type => "I" }, [ 9] { :value => "", :id => ";opid=__9", :name => "", :type => "I" }, [10] { :value => "", :id => ";opid=__10", :name => "", :type => "I" }, [11] { :value => "", :id => ";opid=__11", :name => "", :type => "I" }, [12] { :value => "", :id => ";opid=__12", :name => "", :type => "I" }, [13] { :value => "", :id => ";opid=__13", :name => "", :type => "I" }, [14] { :value => "", :id => ";opid=__14", :name => "", :type => "B" }, [15] { :value => "", :id => ";opid=__15", :name => "", :type => "I" }, [16] { :value => "", :id => ";opid=__16", :name => "", :type => "I" }, [17] { :value => "", :id => ";opid=__17", :name => "", :type => "T" }, [18] { :value => "Search Locations", :id => ";opid=__18", :name => "", :type => "I" }, [19] { :value => "", :id => ";opid=__20", :name => "", :type => "T" }, [20] { :value => "Search Locations", :id => ";opid=__21", :name => "", :type => "I" } ]
0 -
Ah, yep! I see what is happening. The ‘forgot password’ appears to be a button, and we don’t show those in the interface (because there is nothing you can edit about them). I’ll pass the suggestion along that only fields that are visible in the UI be searched.
Ben
ref: apple-326
0 -
This is still an issue with beta 16. Searching for "twitter" results with a lot of logins that had hidden fields with the label of "twitter" collected.
0 -
1Password search results for a common phrase like "twitter" bringing up many many many undesired and incorrect results seems like it would be sort of important with regard to the usability of the tool. I hope it will be addressed BY the release of 7.0.
0 -
I agree that it is something we need to get fixed up. :)
Ben
0