IS SCUMMVM SAFE DOWNLOAD
The first one initiates user information refresh (such as email or used/available bytes) and the second open a special Download Dialog. When Storage is connected, two new buttons appear in the Cloud tab: "Refresh" and "Downloads". While any Requests are running, Storage is considered "working" and a special pulsating cloud icon is shown in the corner of ScummVM window. For example, FolderDownloadRequest lists directory with ListDirectoryRequest and then downloads files one by one with DownloadRequest. Some Requests are using the other Requests within. If Request gets an error which is identified as "token is no more valid" error, TokenRefresher Request automatically refreshes the token and then retries the original Request it wraps. Storages which has non-durable tokens provide a special TokenRefresher classes, which are used to wrap actual Requests. Requests could be retried, and that's useful when access_token suddenly becomes invalid. More information on Requests system is available on a separate page. To get the result, one must pass callbacks (one for success and one for failure) to the method, and Request would call one on these when it's complete. As that's not a synchronous operation, all such methods return a Request *, which could be used to control the request. To simplify developing, those could be loaded from scummvm.ini, but in ScummVM releases the other approach would be used.Īll Cloud-related methods require making a HTTP request to the provider's REST API (and even more than one request sometimes).
![is scummvm safe is scummvm safe](https://i.ytimg.com/vi/1TilZCLD7N8/mqdefault.jpg)
Yet it means those are kept within application somewhere. Refresh_token=REFRESH_TOKEN&grant_type=refresh_token&client_id=KEY&client_secret=SECRET&redirect_uri=http%3A%2F%2Flocalhost%3A12345%2Fīoth KEY and SECRET are passed over HTTPS. Quite similar content is passed when we use it to refresh token: For example, the following OneDrive URL is used:Ĭode=CODE&grant_type=authorization_code&client_id=KEY&client_secret=SECRET&redirect_uri=http%3A%2F%2Flocalhost%3A12345%2F To get the access_token, application should do a HTTP POST to some special provider's "endpoint". Other providers usually give the token for an hour and provide an additional refresh_token which lasts longer and could be used to get new access_token when the previous is no longer valid. Dropbox has an "offline" scope, which makes that access_token last forever. When application gets the code, it should exchange it for an access_token. In this case user has to open a browser on the same device ScummVM is working on.
![is scummvm safe is scummvm safe](https://wiki.scummvm.org/images/5/5b/Toolguide1.png)
Webserver is automatically started when Storage Connection Dialog is opened and stopped when it's closed. When "Allow" button is pressed on provider's site, user is redirected to " where ScummVM already waits for that code.
IS SCUMMVM SAFE CODE
The other way is starting a local webserver, which listens on a specific port (12345 to the moment) and awaits HTTP GET request with code passed. When user presses it, hashsum characters are removed and the passed code used to receive access_token. If no typos are detected, "Connect" button would be enabled. It automatically checks the hashsums, so if there is a typo, ScummVM would notify user about it.
![is scummvm safe is scummvm safe](https://obscuritory.com/wp-content/uploads/2021/10/scummvmdirector.png)
The Storage Connection Dialog then contains 8 fields, where these short groups should be typed in. The first is using page, where the long code is automatically transformed into a few short groups with hashsum added. ScummVM supports two different ways to get that code. Providers usually show which scopes application wants to use, so we shouldn't ask for everything if we need only a few permissions ( list of scopes used). There different "scopes", which could help application to specify what they want to get access to (for example, application could be limited to read/write files only in a special directory). When they do, they'd see some information about the application and would be given a choice to allow or deny that application access to user's storage. When users open such link, they have to auth to the provider first. Response type "code" means that we want to get a code, not the actual access_token. We also specify a redirect_uri there, which is required to be either link, or a one. So, it's obvious that KEY is not a secret, and even called "id" in some providers. Developers can also specify some information about their applications (name, logo, description) and add permitted redirect_uris.Īpplication should navigate its users to a special link.
![is scummvm safe is scummvm safe](https://images.gamewatcherstatic.com/image/file/8/a5/89548/ScummVM_v2-Test.png)
Each application has a KEY and a SECRET strings. In order to do that, a special application has to be registered in the developers section of these providers. Basically, ScummVM uses REST APIs of the specified Cloud providers.