feat: add Godot Steam session login

This commit is contained in:
Josh Creek
2026-08-31 22:49:05 +01:00
parent e1807d2492
commit 585056ccc3
3 changed files with 44 additions and 5 deletions
@@ -16,6 +16,12 @@ func test_base_url_validation_rejects_ambiguous_or_insecure_values() -> void:
var client := ControlPlaneClient.new()
assert_true(client.configure("https://match.example", "session-id:opaque-token"), "safe access token configures")
assert_true(not client.configure("https://match.example", "token\nforged-header"), "header injection is rejected")
assert_true(ControlPlaneClient.is_valid_web_api_ticket("ticket-value"), "ordinary Steam Web API ticket is accepted")
assert_true(not ControlPlaneClient.is_valid_web_api_ticket("ticket\nforged"), "ticket header characters are rejected")
assert_true(not ControlPlaneClient.is_valid_web_api_ticket(""), "empty Steam ticket is rejected")
assert_true(ControlPlaneClient.is_valid_access_token("session-id:opaque-token"), "opaque session format is accepted")
assert_true(not ControlPlaneClient.is_valid_access_token(":opaque-token"), "missing session identifier is rejected")
assert_true(not ControlPlaneClient.is_valid_access_token("session-id:token\nforged"), "session header injection is rejected")
func test_ticket_normalization_preserves_payload_and_derives_expiry() -> void: