39 lines
1.2 KiB
Python
39 lines
1.2 KiB
Python
import urllib.request
|
|
import ssl
|
|
import json
|
|
import sys
|
|
|
|
sys.stdout.reconfigure(encoding='utf-8')
|
|
|
|
ctx = ssl.create_default_context()
|
|
ctx.check_hostname = False
|
|
ctx.verify_mode = ssl.CERT_NONE
|
|
|
|
token = "SnarfNetPermanentAutomationToken2026"
|
|
headers = {
|
|
"Authorization": f"Bearer {token}",
|
|
"Content-Type": "application/json"
|
|
}
|
|
|
|
provider_update = {
|
|
"redirect_uris": [
|
|
{"matching_mode": "strict", "url": "https://semaphore.snarfnet.net/api/auth/oidc/authentik/redirect"},
|
|
{"matching_mode": "strict", "url": "https://semaphore.snarfnet.net/api/auth/oidc/authentik/redirect/"},
|
|
{"matching_mode": "regex", "url": "https://semaphore\\.snarfnet\\.net/.*"}
|
|
]
|
|
}
|
|
|
|
req = urllib.request.Request(
|
|
"https://authentik.snarfnet.net/api/v3/providers/oauth2/10/",
|
|
headers=headers,
|
|
data=json.dumps(provider_update).encode('utf-8'),
|
|
method="PATCH"
|
|
)
|
|
try:
|
|
with urllib.request.urlopen(req, context=ctx, timeout=8) as resp:
|
|
res = json.loads(resp.read().decode())
|
|
print("✓ Authentik Provider 10 updated successfully:", res.get('redirect_uris'))
|
|
except Exception as e:
|
|
print("✗ Failed to update Authentik Provider 10:", e)
|
|
|