Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 16 additions & 1 deletion bluelinktoken.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,21 @@
),
"success_selector": "button.mail_check",
},
"genesis": {
# Genesis Europe — constants from hyundai_kia_connect_api (KiaUvoApiEU.py, BRAND_GENESIS).
# Headless mode (username/password) works; browser mode is best-effort.
"host": "https://idpconnect-eu.genesis.com",
"client_id": "3020afa2-30ff-412a-aa51-d28fbe901e10",
"client_secret": "FKDdlef2ffdleFEweELFKERiLER2FED21sDdwdgQz6hFESE3",
"redirect_uri": "https://accounts-eu.genesis.com/realms/eugenesisidm/ga-api/redirect2",
"login_url": (
"https://idpconnect-eu.genesis.com/auth/api/v2/user/oauth2/authorize"
"?response_type=code&client_id=3020afa2-30ff-412a-aa51-d28fbe901e10"
"&redirect_uri=https://accounts-eu.genesis.com/realms/eugenesisidm/ga-api/redirect2"
"&lang=de&state=ccsp&country=de"
),
"success_selector": "a[class='logout user']",
},
}

USER_AGENT = (
Expand Down Expand Up @@ -266,7 +281,7 @@ def main():
parser = argparse.ArgumentParser(
description="Retrieve Hyundai/Kia Bluelink refresh token")
parser.add_argument("--brand", required=True, type=str.lower,
choices=["hyundai", "kia"],
choices=["hyundai", "kia", "genesis"],
help="Brand of vehicle")
parser.add_argument("--mode", type=str.lower, default="headless",
choices=["headless", "browser"],
Expand Down