Sure - as long as this is tied to the very special case of a tunneled protocol over http.
On Tuesday, August 17, 2010, David Recordon <record...@gmail.com> wrote: > Luke's point still holds true of the core spec needing to allow a 200 status > code on an error in this scenario. I'd also rather see this as part of the > core spec as it reduces the number of things that implementors will need to > read for common use cases. > > --David > > On Tue, Aug 17, 2010 at 9:06 AM, John Panzer <jpan...@google.com> wrote: > > Well, no, jsonp is a special transport layer inside http. Making that > fuzzy will cause (interop and security) problems. > > On Tuesday, August 17, 2010, Luke Shepard <lshep...@facebook.com> wrote: >> From the perspective of OAuth, a JSONP endpoint is just another protected >> resource. I'd rather not need us to write an extension for every type of >> protected resource we might need to access. >> >> I think the wordsmithing you discussed is what Paul's proposing - just >> saying essentially "look, these are the HTTP error codes you can expect, but >> it's okay for the server sometimes to give 200 on an error response anyway". >> That would be necessary even if we wrote an extension. >> >> On Aug 17, 2010, at 12:43 AM, Torsten Lodderstedt wrote: >> >>> Good point. The server will have to provide special JSONP support anyway. >>> This is the only place where the requested status code handling is needed. >>> >>> +1 for a JSONP extension spec >>> >>> This might also result in much cleaner JSONP support. >>> >>> regards, >>> Torsten. >>> >>> Am 17.08.2010 um 09:28 schrieb John Panzer <jpan...@google.com>: >>> >>>> Except you cannot guarantee that result of course (proxies, apache >>>> plus tomcat separate processes etc. will all result in error codes). >>>> >>>> Doesn't this all depend on a jsonp extension in the first place - the >>>> client has to request a special jsonp response by specifying the >>>> callback, thus making the server both use 200s where possible and also >>>> wrap its response data in a callback call? That's not part of the >>>> spec either, why not just define both pieces of behavior in a jsonp >>>> extension spec? (Assuming this can be done without violating the >>>> letter of the core spec, which might take some wordsmithing.) >>>> >>>> On Monday, August 16, 2010, Torsten Lodderstedt <tors...@lodderstedt.net> >>>> wrote: >>>>> Paul Tarjan schrieb: >>>>> >>>>> Yes, I'm talking about 5.2.1 >>>>> >>>>> For JSONP the user's browser is the client. It will make a request by >>>>> executing some HTML like this: >>>>> >>>>> <script >>>>> src="http://graph.facebook.com/me?access_token=...&callback=jsonp_cb"></script> >>>>> <script> >>>>> function jsonp_cb(response) { >>>>> if (response.error) { >>>>> // error out >>>>> return; >>>>> } >>>>> // do cool things >>>>> } >>>>> </script> >>>>> >>>>> (this is done instead of an AJAX request, because of cross-domain >>>>> restrictions). >>>>> >>>>> As to Aaron's point, Google sends 3 parameters to the callback function, >>>>> which I kind of like since the user can choose to get the code or not. >>>>> Something like: >>>>> >>>>> jsonp_cb({ >>>>> "error": "invalid_request", >>>>> "error_description": "An active access token must be used to query >>>>> information about the current user." >>>>> }. >>>>> 400, >>>>> 'Bad Request'); >>>>> >>>>> which you can grab with >>>>> >>>>> function jsonp_cb(response, code, status) { >>>>> } >>>>> >>>>> or ignore it with >>>>> >>>>> function jsonp_cb(response) { >>>>> } >>>>> >>>>> But all of this is outside of the spec. I just want to make sure the spec >>>>> says that the HTTP status code can send as 200 if the server+client need >>>>> it for errors. >>>>> >>>>> >>>>> I think this can be achieved in two ways: (a) either the client tells the >>>>> server using a parameter or (b) the server always responds with status >>>>> code 200 in some cases. From my understanding, status code 200 is >>>>> relevant for requests following the rules of section 5.1.2 only. So my >>>>> sugesstion would be to go with option (b) and modify the spec to always >>>>> return status code 200 for such requests. This keeps the spec simpler and >>>>> preserves the behavior of requests-- > -- > John Panzer / Google > jpan...@google.com / abstractioneer.org / @jpanzer > _______________________________________________ > OAuth mailing list > OAuth@ietf.org > https://www.ietf.org/mailman/listinfo/oauth > > > -- -- John Panzer / Google jpan...@google.com / abstractioneer.org / @jpanzer _______________________________________________ OAuth mailing list OAuth@ietf.org https://www.ietf.org/mailman/listinfo/oauth