Currently the synapse SDK crashes if your session key does not have 4 permissions (and one of them is fictional, see #693).
I should be able to authorize an app to add pieces but not to remove them. I should be able to authorize an app to add and remove pieces but not to create a new dataset. This is not currently possible with the SynapseSDK.
The error is
Session key does not have the required permissions.
Furthermore, the error is not helpful or informative because it does not list the required permissions or whether they have expired.
The app will know which permissions they need. So, I think the correct time to fail is when attempting the unauthorized operation. If the app initialized the SDK with a session key that has no unexpired permissions, you can fail earlier.
Currently the synapse SDK crashes if your session key does not have 4 permissions (and one of them is fictional, see #693).
I should be able to authorize an app to add pieces but not to remove them. I should be able to authorize an app to add and remove pieces but not to create a new dataset. This is not currently possible with the SynapseSDK.
The error is
Furthermore, the error is not helpful or informative because it does not list the required permissions or whether they have expired.
The app will know which permissions they need. So, I think the correct time to fail is when attempting the unauthorized operation. If the app initialized the SDK with a session key that has no unexpired permissions, you can fail earlier.