Add Steam OpenID authentication
Deploy Promiscuity Auth API / deploy (push) Failing after 20s
Deploy Promiscuity Character API / deploy (push) Failing after 19s
Deploy Promiscuity Crafting API / deploy (push) Failing after 20s
Deploy Promiscuity Inventory API / deploy (push) Failing after 19s
Deploy Promiscuity Locations API / deploy (push) Failing after 19s
Deploy Promiscuity Mail API / deploy (push) Failing after 20s
Deploy Promiscuity World API / deploy (push) Failing after 20s
k8s smoke test / test (push) Failing after 20s

This commit is contained in:
2026-07-20 00:30:06 -05:00
parent 18c3d6fc5d
commit cde0e28e44
16 changed files with 564 additions and 29 deletions
@@ -0,0 +1,39 @@
using AuthApi.Services;
using Xunit;
namespace AuthApi.Tests;
public class SteamOpenIdServiceTests
{
[Fact]
public void BuildAuthenticationUrl_UsesSteamEndpointAndBindsReturnUrl()
{
const string callback = "https://pauth.ranaze.com/api/Auth/steam/callback?transactionId=abc-123";
var result = SteamOpenIdService.BuildAuthenticationUrl("https://pauth.ranaze.com", callback);
Assert.StartsWith(SteamOpenIdService.Endpoint + "?", result);
Assert.Contains("openid.mode=checkid_setup", result);
Assert.Contains(Uri.EscapeDataString(callback), result);
Assert.Contains(Uri.EscapeDataString("https://pauth.ranaze.com"), result);
}
[Theory]
[InlineData("https://steamcommunity.com/openid/id/76561198000000000", "76561198000000000")]
[InlineData("http://steamcommunity.com/openid/id/76561198000000000", "76561198000000000")]
[InlineData("https://example.com/openid/id/76561198000000000", null)]
[InlineData("https://steamcommunity.com/openid/id/not-a-steamid", null)]
public void ExtractSteamId_OnlyAcceptsSteamClaimedIds(string claimedId, string? expected)
{
Assert.Equal(expected, SteamOpenIdService.ExtractSteamId(claimedId));
}
[Theory]
[InlineData("ns:http://specs.openid.net/auth/2.0\nis_valid:true\n", true)]
[InlineData("is_valid:false\n", false)]
[InlineData("is_valid:true-ish\n", false)]
public void IsValidAuthenticationResponse_RequiresExactValidLine(string response, bool expected)
{
Assert.Equal(expected, SteamOpenIdService.IsValidAuthenticationResponse(response));
}
}