Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.5.0-beta1
Description
If the url to which a gadget is doing a makeRequest doesn't exist, i.e., returns a 404 to the Shindig server, the access token is being removed from the OAuth2 Store. This functionality is implemented here: org.apache.shindig.gadgets.oauth2.BasicOAuth2Request.fetchFromServer(OAuth2Accessor, HttpRequest)
fetchFromServer is checking only if the response code is 4xx, and if so, it is removing the access token from the store. This seems right for 401 or 403 return codes, perhaps, but not for 404. The behavior for an end user would then be that they have to do the OAuth dance again next time the gadget tries to access a resource.
The proposal is to change the current implementation to look explicitly for 401 or 403 response codes in fetchFromServer instead of looking for any 4xx.