[Openid-specs-native-apps] Web Browser news from WWDC

David Waite david at alkaline-solutions.com
Mon Jun 15 15:34:41 UTC 2015


WebKit controls allow you to hook into events and inject javascript, but as a consequence you are running with a separate copy of user state.

The new control is effectively a Safari tab which pops up over your UI. I don’t believe you can do too much more than tell it what page to start at, or programmatically dismiss it. But, it is supposed to have all the state and credential access of the system browser. Among other things, you cannot control what browser controls are visible to the user, which include a non-editable address bar and a dismissal button.

This does not provide new functionality, but could substantially improve the UX. The user gets a modal popup rather than bouncing to/from the system browser, and has a button to cancel/dismiss and be returned exactly where they started. The user also doesn’t wind up with additional MobileSafari tabs left behind by the authentication process.

Apple explicitly called this out as useful for OAuth in their presentation. They proposed the use of custom URLs to close it, however I wonder if universal links (also new in ios 9) would work and be a better option.

Universal links allow your website to give permission for one or more apps to be used to service particular resource paths. These apps have to be provisioned with the domains which they are willing to service (so no universal TA).

On requesting the URL, the system will skip safari and transition directly to your app. There appears to be an interface to return back to the originating app as well, as if the new app was a new card on top of the navigation view stack.

This allows you to control a single app to be called on use of a URL, a single ownership semantic Apple is unwilling to provide on iOS. It also allows for a fallback - if the app isn’t installed, the user is sent to the page in Safari. From there, you could use app banners to advertise the token agent app as a better experience.

It remains to be seen through experimentation if these work well or if they work well together. But it may be we got a way to invoke a TA and automatically fall back to an in-place web view if it isn’t installed, a better UX overall, and that we got a way to more securely redirect back to the app when finished.

-DW

> On Jun 15, 2015, at 7:08 AM, Mike Varley <mike.varley at securekey.com> wrote:
> 
> Right - from what I understand the new tabs do everything the system browser does, and allows access to system browser state. But I only know what I saw from the keynote :)
> 
> So improved UX, not only from a buttons and tabs perspective, but the user's state is now accessible from the system browsers as well. 
> 
> MV
> 
> On Jun 15, 2015, at 8:50 AM, Paul Madsen <paul.madsen at gmail.com <mailto:paul.madsen at gmail.com>> wrote:
> 
>> hey Mike, if true, you are saying the new tabs can 'do everything the system browser does', so the only difference is UX
>> 
>> Im not diminishing the importance of the UX , just want to understand what we gain
>> 
>> On 6/15/15 8:36 AM, Mike Varley wrote:
>>> I seem to recall that both iOS and Android will now allow these embedded web views (i.e., chrome tabs and safari web views) full access to the user's settings: including cookies, stored passwords, local storage, (device certificates as John mentioned), touchID?  the works. And there is the improved UI experience as well, that you pointed out, with "back' buttons that automatically return the user to the calling App.
>>> 
>>> MV
>>> 
>>> 
>>>  
>>> On Jun 15, 2015, at 8:05 AM, Paul Madsen <paul.madsen at gmail.com <mailto:paul.madsen at gmail.com>> wrote:
>>> 
>>>> John, can you expand on
>>>> 
>>>> 'However it seems like we will be able to do significantly more with the browser than we had been thinking.'
>>>> 
>>>> As I see it, the new feature doesn't enable anything *more* other than a better UX on iOS? True?
>>>> 
>>>> Paul
>>>> 
>>>> On 6/12/15 4:38 PM, John Bradley wrote:
>>>>> Have a look at 23min into this video from ADC.
>>>>> 
>>>>> https://developer.apple.com/videos/wwdc/2015/?id=504 <https://developer.apple.com/videos/wwdc/2015/?id=504>
>>>>> This is a significant development.
>>>>> 
>>>>> In talking to others from Google yesterday and today, they have introduced similar functionality in Android rolling out in approximately the same timeframe, and backwards compatible with current versions of Android.
>>>>> 
>>>>> Being able to invoke a web tab without an app flip is a significant change, potentially making the TA in the browser that we have talked about the preferred option on iOS.
>>>>> 
>>>>> People should look at the ACDC draft https://bitbucket.org/openid/napps/wiki/Home <https://bitbucket.org/openid/napps/wiki/Home>.
>>>>> 
>>>>> It may be that NAPPS for enterprise is OAuth using a tab plus PKCE and some additional app verification logic + fido api in the browser.
>>>>> For SasS we may be able to use OAuth + ACDC and discovery in a tab.
>>>>> 
>>>>> It looks like the tab will have access to device certificates solving some peoples issues around that.
>>>>> 
>>>>> We should also be able to do accountchooser.com <http://accountchooser.com/> in the browser tab to perform account discovery.
>>>>> 
>>>>> Now that the changes have landed on iOS and Android we should be good to do testing in the late summer fall.
>>>>> 
>>>>> Please start the discussion on the list.
>>>>> 
>>>>> I recognize that some people will still have use cases for native token agents, so I am not proposing completely eliminating that yet.
>>>>> 
>>>>> However it seems like we will be able to do significantly more with the browser than we had been thinking.
>>>>> 
>>>>> Regards
>>>>> John B.
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Openid-specs-native-apps mailing list
>>>>> Openid-specs-native-apps at lists.openid.net <mailto:Openid-specs-native-apps at lists.openid.net>
>>>>> http://lists.openid.net/mailman/listinfo/openid-specs-native-apps <http://lists.openid.net/mailman/listinfo/openid-specs-native-apps>
>>>> 
>>>> _______________________________________________
>>>> Openid-specs-native-apps mailing list
>>>> Openid-specs-native-apps at lists.openid.net <mailto:Openid-specs-native-apps at lists.openid.net>
>>>> http://lists.openid.net/mailman/listinfo/openid-specs-native-apps <http://lists.openid.net/mailman/listinfo/openid-specs-native-apps>
>>> 
>> 
> 
> _______________________________________________
> Openid-specs-native-apps mailing list
> Openid-specs-native-apps at lists.openid.net
> http://lists.openid.net/mailman/listinfo/openid-specs-native-apps

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openid.net/pipermail/openid-specs-native-apps/attachments/20150615/63a46d1f/attachment-0001.html>


More information about the Openid-specs-native-apps mailing list