On Sun, Jun 7, 2015 at 3:38 PM, Ryan Kelly <[email protected]> wrote:

> On 7/06/2015 22:21, Shane Tomlinson wrote:
> > On Thu, May 28, 2015 at 6:24 AM, Ryan Kelly <[email protected]
> > <mailto:[email protected]>> wrote:
> >
> >
> >     Heh, this suggestion may come as a surprise to folks on this list.
> >
> >     The context here is that to get an OAuth token, you must currently:
> >
> >      1) Get a sessionToken with the auth-server
> >      2) Use it to sign a BrowserID identity certificate
> >      3) Use that to generate a BrowserID identity assertion
> >      4) Give that to the oauth-server to get an OAuth token
> >
> >     But we have no plans to use BrowserID assertions in any new work
> going
> >     forward.  We need them in sync for legacy reasons, but all new
> >     FxA-attached services will be using OAuth and OAuth only.
> >
> >     So it sure would be nice if you could go session token => OAuth token
> >     directly and cut out the middleman...
> >
> >
> > As I was reading through the sequence of token bearing, I asked myself
> > the same thing I've asked many times "why are BrowserID assertions even
> > a part of this process?" What is the legacy reason that Sync needs them?
>
> It's how Firefox authenticates itself to the sync server infrastructure.
>  Getting away from them entirely would involve:
>
>   * updating the sync servers to accept oauth tokens for authentication.
>   * updating the sync client code in Firefox to use oauth tokens.
>   * waiting for sufficiently low usage from older versions of Firefox
>     that we can disable the old endpoints on the servers.
>
>
It might be easier than you think. ESR is the tough case, but most of our
active users are on recent versions of Firefox.



> I'd like to work towards to first two because it's the Right Thing, but
> I'm not sure the third would ever come to pass.
>
> >     Hypothetically, it might mean that the auth-server could grow a
> /oauth
> >     endpoint under which we expose the current oauth-server API,
> >     authenticated with session tokens rather than assertions.
> >
> >     Note that we've no plans to actually go ahead with this, it's just an
> >     architectural musing.  I'd be interested in everyone's high-level
> >     reaction to the suggestion.
> >
> > Remove the steps that aren't strictly necessary. If BrowserID assertions
> > are only needed for Sync, why not only generate them for Sync? For users
> > not signing in to Sync, we would be able to remove several steps/XHR
> > requests, possibly giving the user a marginally quicker experience once
> > they click "Sign in".
>
> Agreed.  The extra latency is at least several hundred milliseconds for
> me, and that's not even measuring the extra crypto blah-blah we need to
> do in the client to generate the signed identity assertions.
>
> If we went this route, I think we could entirely remove the BrowserID
> stuff from fxa-content-server.  Sync does its own handling of those
> formats in native Gecko code.



BiD assertions make the decoupling of Auth and OAuth servers easier to deal
with. If we go for the "giant smush” of a combined Auth/OAuth/Device
manager (which makes a lot of sense), we can probably simplify there.

-chris






>
>   Cheers,
>
>      Ryan
> _______________________________________________
> Dev-fxacct mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/dev-fxacct
>
_______________________________________________
Dev-fxacct mailing list
[email protected]
https://mail.mozilla.org/listinfo/dev-fxacct

Reply via email to