BL3 Autoshift workaround for OIDC logins

Autoshift is a python program that helps automate the process of activating golden keys in Borderlands games.

Log in to shift.gearboxsoftware.com

Autoshift only works for the regular username/password based login. However, the gearbox page supports a number of identity providers (IDP) for OAuth logins via OpenID Connect (OIDC):

gearbox-idp-list

If, like me, you’ve initially created your account through OIDC, you’ll need to take a shortcut to make autoshift work as expected.

Open your browser’s developer tools, filter cookies by shift.gearboxsoftware.com and grab the si cookie value and replace it in the snippet below, then run it:

import pickle
import requests
import os

client = requests.session()

cookie_file = path.join(os.getcwd(), ".cookies.save")
cookie_obj = requests.cookies.create_cookie(
    domain='shift.gearboxsoftware.com',
    name='si',
    value='SSIxMjMyMUFRenVHMXJKNXFxVlRacjRaeFk6RVQ%3D--a94a8fe5ccb19ba61c4c0873d391e987982fbbd3'
)
client.cookies.set_cookie(cookie_obj)

with open(cookie_file, "wb") as f:
    for cookie in client.cookies:
        if cookie.name == "si":
            pickle.dump(client.cookies, f)

Finally, run autoshift

./auto.py --games bl3 --platforms ps --schedule -v