37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
import os
|
|
from dotenv import load_dotenv
|
|
import urllib.parse
|
|
|
|
def generate_url():
|
|
load_dotenv(dotenv_path="/home/node/clawd/.env")
|
|
|
|
client_id = os.getenv("SO_CLIENT_ID") or os.getenv("SO_SOD")
|
|
redirect_uri = "https://devnet-tools.superoffice.com/openid/callback" # Das muss im Portal so registriert sein
|
|
state = "12345"
|
|
|
|
if not client_id:
|
|
print("Fehler: Keine SO_CLIENT_ID in der .env gefunden!")
|
|
return
|
|
|
|
params = {
|
|
"client_id": client_id,
|
|
"redirect_uri": redirect_uri,
|
|
"response_type": "code",
|
|
"scope": "openid offline_access", # Wichtig für Refresh Token
|
|
"state": state
|
|
}
|
|
|
|
base_url = "https://sod.superoffice.com/login/common/oauth/authorize"
|
|
auth_url = f"{base_url}?{urllib.parse.urlencode(params)}"
|
|
|
|
print("\nBitte öffne diese URL im Browser:")
|
|
print("-" * 60)
|
|
print(auth_url)
|
|
print("-" * 60)
|
|
print("\nNach dem Login wirst du auf eine Seite weitergeleitet, die nicht lädt (localhost).")
|
|
print("Kopiere die URL aus der Adresszeile und gib mir den Wert nach '?code='.")
|
|
|
|
if __name__ == "__main__":
|
|
generate_url()
|
|
|