-
Notifications
You must be signed in to change notification settings - Fork 0
IndieGala
digital storefront for video games, which grew out of its original offering of Indie Gala Bundles, a collections of games sold at a price determined by the purchaser and with a portion of the price going towards charity and the rest split between the game developers. IndieGala continues to offer these limited-time bundles, but have expanded to include a greater and more persistent storefront.
IndieGala has rather unusual login flow, it relies on storing user credentials in OS keychain using keytar package and using them every time
- base url -
https://www.indiegala.com
- login uri -
/login_new/gcl
- user info uri -
/login_new/user_info
- log uri -
/galaclient/add-log/install
To obtain the session you need to do the request to login endpoint as follows.
- method - POST
- URL -
https://www.indiegala.com/login_new/gcl
- Content-Type - application/x-www-form-urlencoded
- User-Agent -
galaClient
Payload is form payload with following fields:
- usre - lowercased username
- usrp - user password
body is JSON encoded
Possible exceptions:
- statusCode != 200 - unknown error
- body doesn't contain
NoneType
andcount
- unknown error - body.status ===
failure
- wrong username or password
After successful response client stores username and password pair to galaClient
keytar store
Then Set-Cookie
header is parsed and re-used for authorization
There is also Google login method, (TBA)
Request is the same as login one except
- METHOD - GET
- URL -
https://www.indiegala.com/login_new/user_info
- Cookie - stored cookie from login
Response body is JSON encoded
Fields used by client:
- _indiegala_username
- _indiegala_userimage
- _indiegala_user_id
- showcase_content
After obtaining user data client stores data in following format
var _myreq = {
state: 0, //0 is no error, 4 is error with message, etc.
message: "", //can include error message (if any)
data: {
username': username,
'userimage': userimage,
'showcase_content': showcase_content,
'cookies': rawcookies
},
platform : the_platform
};
- Base URL -
https://content.indiegalacdn.com
- url_proxy_get_latest_build_number -
/get_latest_build_number
- url_proxy_start_build_download -
/start_build_download
- url_proxy_download_chunk_batch -
/download_chunk_batch