Returning a location header in the 201 ids fine as long as we also have the same info as a claim.
I think most clients will want to process the JSON and store all the parameters together. Making them fish out a header makes the W3C happy and is the correct thing to do but taking it from a claim is what developers are more comfortable with. John B. On 2013-02-12, at 11:25 AM, Justin Richer <jric...@mitre.org> wrote: > I'd be fine with the return from a creation request being a 201 instead of a > 200. > > -- Justin > > On 02/11/2013 06:33 PM, Richard Harrington wrote: >> Since the request is an HTTP POST and a resource is created >> (http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.5) the response >> should be an HTTP 201 Created >> (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.2) which is >> supposed to include the location of the newly created resource. >> >> This is a good pattern to follow since, as you say, it does provide >> flexibility. >> >> >> >> On Feb 11, 2013, at 1:14 PM, Justin Richer <jric...@mitre.org> wrote: >> >>> Draft -05 of OAuth Dynamic Client Registration [1] returns a URL pointer >>> for the client to perform update and secret rotation actions. This >>> functionality arose from discussions on the list about moving towards a >>> more RESTful pattern, and Nat Sakimura proposed this approach in the OpenID >>> Connect Working Group. This URL may be distinct from the Client >>> Registration Endpoint URL, but draft -05 makes no promises as to its >>> content, form, or structure, though it does contain implementor's notes on >>> possible methods. >>> >>> Two questions arise from this change: >>> - The semantics of returning the client manipulation URL >>> - The syntax (derived from HAL for JSON [2], an individual I-D submission) >>> >>> On semantics: >>> >>> Pro: >>> - The server has flexibility on how to define the "update" endpoint, >>> sending all clients to one URL, sending different clients to different >>> URLs, or sending clients to a URL with a baked-in query parameter >>> - The client can take the URL as-is and use it for all management >>> operations (ie, it doesn't have to generate or compose the URL based on >>> component parts) >>> >>> Con: >>> - The client must remember one more piece of information from the server at >>> runtime if it wants to do manipulation and management of itself at the >>> server (in addition to client_id, client_secret, registration_access_token, >>> and others) >>> >>> Alternatives include specifying a URL pattern for the server to use and all >>> clients to follow, specifying a query parameter for the update action, and >>> specifying a separate endpoint entirely and using the presence of items >>> such as client_id and the registration access token to differentiate the >>> requests. Note that *all* of these alternatives can be accommodated using >>> the semantics described above, with the same actions on the client's part. >>> >>> >>> On syntax: >>> >>> Pro: >>> - Follows the designs of RFC5988 for link relations >>> - The HAL format is general, and allows for all kinds of other information >>> to be placed inside the _links structure >>> - Allows for full use of the JSON object to specify advanced operations on >>> the returned endpoint if desired >>> >>> Con: >>> - The rest of OAuth doesn't follow link relation guidelines (though it's >>> been brought up) >>> - The HAL format is general, and allows for all kinds of other information >>> to be placed inside the _links structure >>> - The HAL-JSON document is an expired individual I-D, and it's unclear what >>> wider adoption looks like right now >>> >>> Alternatives include returning the URL as a separate data member >>> (registration_update_url), using HTTP headers, or using JSON Schema. >>> >>> -- Justin >>> >>> >>> >>> [1] http://tools.ietf.org/html/draft-ietf-oauth-dyn-reg-05 >>> [2] http://tools.ietf.org/html/draft-kelly-json-hal-03 >>> _______________________________________________ >>> 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
_______________________________________________ OAuth mailing list OAuth@ietf.org https://www.ietf.org/mailman/listinfo/oauth