Hello,
For [1] I want to discuss a RESTful API for resetting the (Master)Secret of a PushApp and/or a Variant.
Initially I'd like to propose an empty PUT request against an 'reset' endpoint, specific to the ID of the PushApp/Variant (see [2] and [3]).
To give a congrete example: Resetting the Secret of an Android Variant would result in a PUT against this URL:
https://SERVER:PORT/CONTEXT/rest/applications/{pushApplicationID}/android/{variantID}/reset
The CURL command would look like:
curl -3 -v -H "Accept: application/json" -H "Content-type: application/json"
-X PUT
https://SERVER:PORT/CONTEXT/rest/applications/{pushApplicationID}/android/{variantID}/reset
The response body to that PUT request contain (JSON) details about the specific Android Variant (using Android as an example here):
{
"id":"402880e43fa95bb3013faf3c41b40005",
"name":"Android App",
"description":"The Android Variant",
"variantID":"04e9f747-d256-4a24-a0ac-29b9a15e37b1",
"secret":"70135d26-696d-426a-8183-e1fd0fcb86fe",
"developer":"admin",
"instances":[],
"googleKey":"My Google API Key",
"projectNumber":"My Project Number / Sender ID"
}
On the Admin UI the HTTP PUT request could be triggered through a button, the actual execution would happen after giving "approval" on a 'confirmation' button...
On the long run, we could make it more 'complex', e.g. sending an email, containing an URL to give approval to the reset etc - but for now, I'd like to keep the reset simple..
Any thoughts ?
[1] https://issues.jboss.org/browse/AGPUSH-209
[2] http://staging.aerogear.org/docs/specs/aerogear-push-rest/PushApplication/
[3] http://staging.aerogear.org/docs/specs/aerogear-push-rest/Variants/Android/