Forum Discussion

captbackfire's avatar
captbackfire
New Contributor
12 days ago

Premature Completion

(moving this discussion from Community Forum because this may be more in scope here)

I use a Microsoft 365 account, both personally and for work. I am having a terrible time with the authentication flow because 1Password automatically inputs the code for me in the interstitial screen (a benefit, to be sure), but its haste doesn't check, or allow me to check, the box that says "Don't ask again for 30 days". Checking this box is the only way to get the Microsoft KMSI to work when I have multiple profile browser windows open. Is there a way to have 1Password check this box for me by default (i.e., a boolean field that knows the ID or class of the checkbox)?

I realize I can tell 1P not to login automatically, but it looks like there should be another way to accomplish this through the CLI...

I've looked through the developer documentation, and I cannot see a type for checkbox. I looked at the JSON for my login to this community site, and it lists some form fields I filled out when signing up that had checkboxes listed as strings with checkmark characters for the value:

{
 "id": "",
 "type": "STRING",
 "label": "custom.roleDeveloper",
 "value": "✓",
 "reference": "op://Private/1Password Support Community/custom.roleDeveloper" 
}

I got this using the CLI:

op item get "1Password Support Community" --format json > opcomm.json

op item get "1Password Support Community" --format json > opcomm.json

However, the schema for this JSON is different than the Copy item JSON menu option from the interface:

{
 "value": "✓",
 "id": "RegistrationForm-custom.roleDeveloper",
 "name": "custom.roleDeveloper",
 "type": "C" 
}

^ THIS is the JSON I want to be able to modify, and specifically add a new field to. Here's why...

When I export this JSON from my M365 entry, there's an extra little thing that acts like a tab order:

{
 "value": "Sign in",
 "name": "",
 "type": "I",
 "id": "idSIButton9;opid=__11" 
}

That "opid=", as best I can tell, sets an order of interaction with the form fields in the interface. I want to be able to add something like this (all field values taken from online sources and DOM inspection):

{
 "value": "✓",
 "name": "rememberMFA",
 "type": "C",
 "id": "idChkBx_SAOTCC_TD;opid=__17" 
}

The Catch 22 is: I don't see any way to do this.

Any ideas would be appreciated.

2 Replies

  • Credit where credit is due: the realization^ that I could tell 1P not to automatically login came from 1P_Timothy​'s comment here. But, that isn't the solution I'm looking for.

    • 1P_Phil's avatar
      1P_Phil
      Icon for Moderator rankModerator

      Hi captbackfire​ ,

      Have you considered trying to do this with the SDKs? It might make editing the field a little more friendly. - https://developer.1password.com/docs/sdks 

      With the SDKs you can:
      1) Read out the full item to a variable
      2) Insert or update the needed fields
      3) Write it back into the vault

      Let me know if this works for you.

      Thanks,
      Phil