I think this discussion mixes two separable questions:

1. Should dyn-reg support client-side browser-based apps (which need
 client_ids for each AS they talk to, even if they only talk briefly and
then throw the credentials away)?

2. Which authorization flows are available to clients?

I have examples of client-side browser-based apps that fetch blood pressure
values from the BlueButton+ API, and do some calculations / visualizations.
 These apps need to run against any of a large collection of data holders
(all of whom implement the same API endpoints), and may learn about new
data holders in realtime from an end-user.

If we believe this kind of app is a valid use case for dyn reg (Q. #1),
then whether it uses Implicit or Code flow (Q. #2) has no bearing on the
overall set of concerns you raise. (Unintentional DOS, for example, is no
less an issue with the code flow, for browser-based apps that need a
throwaway client_id for brief interactions.) And from an app developer's
perspective, Implicit flow is simpler and better captures the semantics of
a public client.

Thoughts?

  -Josh
On May 24, 2013 11:35 AM, "Phil Hunt" <phil.h...@oracle.com> wrote:

> I wanted to bring out a quick discussion to ask the question if it makes
> sense to support implicit clients in dynamic registration.
>
> By definition, implicit clients are unauthenticated. Therefore the only
> purpose to register an implicit client is to obtain a client_id with a
> particular AS instance.
>
> A few issues to consider:
> * Implicit clients typically run in browsers (javascript). Do we really
> want each occurrence of a browser running a client to register?
>    --> This could mean even the same browser running implicit flow repeat
> times, would register repeatedly.
>    --> If registration occurs per occurrence, what is the value?
>
> * What use cases typically occur for deployment against different AS and
> Resource API instances?
>    --> Eg. I can see a javascript component of a web site that uses a
> corresponding resource API.  So it may be possible that the javascript and
> the resource API are running in the same domain.   In this case, the
> javascript code, though written as part of a shared library/distribution,
> is still bound to a configured AS deployment.  Is it really dynamic? If
> this is the case, wouldn't an OOB registration that updates the client_id
> in the deployment be better suited?
>    --> Are there any examples of javascript clients that need to connect
> to one or more AS servers on a truly dynamic basis?
>
> * Is there a DOS attack possible (even unintentionally) because implicit
> clients will start to register frequently creating huge numbers of
> client_ids that cause spin-off provisioning issues depending on how AS
> registration, token, and policy systems are implemented?
>
> Apparently OIDC and UMA had these profiles supported before, but I'm
> really trying to understand why implicit clients should have dynamic
> registration support.  Would appreciate any discussion on this.  At
> minimum, there are probably some security considerations we need to think
> through and document.
>
> Thanks for your comments,
>
> Phil
>
> @independentid
> www.independentid.com
> phil.h...@oracle.com
>
>
>
>
>
> _______________________________________________
> OAuth mailing list
> OAuth@ietf.org
> https://www.ietf.org/mailman/listinfo/oauth
>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to