Developer help with Google Chrome and Opera

Hi!
I am currently developing iOS extension that fills credentials into login pages. Everything works well in Safari sharing extension. I have non trivial problems with makin' it happen on Chrome or Opera.

Could you guys please have a minute to discuss it over skype? There is no many documentation around, I found some chromium feature requests (like https://code.google.com/p/chromium/issues/detail?id=405894) but still don't know how to pass credentials back to browser properly.

Thank you so much!


1Password Version: Not Provided
Extension Version: Not Provided
OS Version: Not Provided
Sync Type: Not Provided

Comments

  • littlebobbytables
    littlebobbytables
    1Password Alumni

    Greetings @marecek_tn,

    If we're talking purely about the iOS environment then that would explain the non-trivial comment. I'm not a developer, so I'll probably make a couple of mistakes in the terminology but there are a small number of extension types, one of which is the Safari extension. If you build an extension of this type Safari will allow the user to use it and I know from our own developers the Safari extension can access the DOM of the page as certainly that's how filling works in the Javascript extension that we use in the browsers in OS X and Windows.

    When it comes to any other iOS app though it isn't as easy. There are a couple of simple, generic types of extensions that iOS apps can say they support but when it comes to filling fields you pretty much need custom support for your extension added directly into the other iOS app. That's why we have our Apps ❤ 1Password as each app has added support for our iOS Extension. Our GitHub page might help explain things better.

    That's why we don't even have support in either of those iOS browsers. We'd love it if we did but sadly the way iOS extensions work it requires both parties for the more complex extensions.

    Does any of this help at all?

  • marecek_tn
    marecek_tn
    Community Member

    Hi @littlebobbytables
    Thanks for your reply. You nicely summed up supporting native apps and Safari.
    I've already implemented share extension for Safari that works ok and now I want to focus on Chrome and Opera.

    There is a proposal on the link that web browsers should implement to fill credentials provided from 3rd party (native app) into login form. 1Password does this already in Chrome.

    And that's my question - do I need to contact Chrome devs directly? Or is there a way to conform some protocols and login filling will start working?

    Many thanks :)

  • littlebobbytables
    littlebobbytables
    1Password Alumni

    Hi @marecek_tn,

    I'm confident we're at the stage where my knowledge has been surpassed but certainly that link was interesting and did seem to highlight the issue at hand. I've asked @Rad to check out the thread :smile:

  • Rad
    Rad
    1Password Alumni
    edited November 2015

    Hi @marecek_tn,

    Thanks so much for taking the time to write in :+1:

    @littlebobbytables, thanks for the assist buddy!

    My name is Rad and I am the lead developer and maintainer of the App Extension API.

    By the looks of it, so far you've implemented the Safari capability of your password manager's App Extension. The 1Password App Extension implements other capabilities for native apps and for web view. The capabilities are described in the App Extension API's README:

    The capabilities are powered by the App Extension Actions or UTIs. They can be found in OnePasswordExtension.m line 14. Ideally, your app extension should implement each one of these capabilities.

    To answer your Chrome question:

    Chrome does not use our Web View filling capabilities, instead it uses our Native App Login or the findLoginForURLString: capability, to get the credentials (username and password) in a dictionary form, then it performs its own (JavaScript) filling code. Meaning, that you should be fine once your App Extension supports findLoginForURLString:.

    To answer your Opera question:

    Opera, like Chrome or any other 3rd party browser for that matter, must integrate with password managers using the App Extension API. Password Manager App Extensions can't simply show up in the share sheet without any integration from 3rd party browser developers.

    Hope that this helps :smile:

  • marecek_tn
    marecek_tn
    Community Member

    Hi @Rad
    thank you for your reply.
    Dev support provided by AgileBits is awesome :)
    You helped me a lot by providing Chrome credentials the native way. I managed to do it from my app as well.

    Many thanks indeed!

  • littlebobbytables
    littlebobbytables
    1Password Alumni

    I'm glad Rad was able to help @marecek_tn :smile:

This discussion has been closed.