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

William Denniss wdenniss at google.com
Mon Jun 15 21:56:37 UTC 2015


URL claiming is definitely a huge advancement, finally we can get some
assurances of the identity of the app receiving the token (and not just
that the token went back to the requesting app which PKCE ensures).  In
Android, Apps Links
<http://developer.android.com/preview/features/app-linking.html> are a
platform feature, so the rollout will take longer.  Chrome Custom Tabs
however will soon be available
<https://support.google.com/chrome/answer/2393487?hl=en> on devices back to
Android 4.1+ (Jelly Bean).  Both these features start to bring the native
app and mobile web experiences closer together.

It does look like it will be possible to basically insert a native TA into
the process, simply by claiming the the auth URL.  Given this, I believe we
can write a spec for doing OAuth on Mobile without needing to spend a lot
of time on the Native TA part.

Starting in 'seed 2' of iOS 9 (not yet available), the app association file
(required for Universal Links) will no longer need to be signed using the
same key as the SSL certificate which will make this a lot more accessible
for developers.

One thing to note is that SFSafariViewController is still in beta, and they
are explicitly seeking feedback. So if we think something is missing now is
the time to ask for it.

On Mon, Jun 15, 2015 at 2:21 PM, John Bradley <ve7jtb at ve7jtb.com> wrote:

> In principal closing the tab with a universal link could act as a
> replacement for validating the app bundle_id effectively the same way the
> https redirect URI validates the identity of a web  server.
>
>
> That might be logically simpler than trying to validate and track
> bundle_id and signer.
>
> We need to see if it works in practice.
>
> This is sort of the same thing Google is doing in smart lock so that a
> native app and website can share the same password info.
>
> John B.
>
>
> On Jun 15, 2015, at 12:34 PM, David Waite <david at alkaline-solutions.com>
> wrote:
>
> 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> 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> 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
>
> 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.
>
>  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 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 listOpenid-specs-native-apps at lists.openid.nethttp://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
>
>
>
>
>   _______________________________________________
> Openid-specs-native-apps mailing list
> Openid-specs-native-apps at lists.openid.net
> 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
>
>
>
> _______________________________________________
> 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/6702e0ef/attachment.html>


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