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
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:
@@ -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));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user