Skip to content

Commit c654e7f

Browse files
authored
Adds missing backchannel logout initiators (#796)
2 parents 6d17b5d + 1868474 commit c654e7f

File tree

2 files changed

+33
-7
lines changed

2 files changed

+33
-7
lines changed

src/Auth0.ManagementApi/Models/LogoutInitiators.cs

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,24 @@ public enum LogoutInitiators
2626
/// Request was initiated when a session expires.
2727
/// </summary>
2828
[EnumMember(Value = "session-expired")]
29-
SessionExpired
29+
SessionExpired,
30+
31+
/// <summary>
32+
/// Request was initiated by session deletion.
33+
/// </summary>
34+
[EnumMember(Value = "session-revoked")]
35+
SessionRevoked,
36+
37+
/// <summary>
38+
/// Request was initiated by an account deletion.
39+
/// </summary>
40+
[EnumMember(Value = "account-deleted")]
41+
AccountDeleted,
42+
43+
/// <summary>
44+
/// Request was initiated by an email identifier change.
45+
/// </summary>
46+
[EnumMember(Value = "email-identifier-changed")]
47+
EmailIdentifierChanged
3048
}
3149
}

tests/Auth0.ManagementApi.IntegrationTests/ClientTests.cs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,16 @@ public ClientTests(ClientTestsFixture fixture)
4545
public async Task Test_client_crud_sequence()
4646
{
4747
string existingOrganizationId = "org_V6ojENVd1ERs5YY1";
48+
var selectedInitiators = new[]
49+
{
50+
LogoutInitiators.RpLogout,
51+
LogoutInitiators.IdpLogout,
52+
LogoutInitiators.PasswordChanged,
53+
LogoutInitiators.SessionRevoked,
54+
LogoutInitiators.AccountDeleted,
55+
LogoutInitiators.EmailIdentifierChanged
56+
};
57+
4858
// Add a new client
4959
var newClientRequest = new ClientCreateRequest
5060
{
@@ -71,7 +81,7 @@ public async Task Test_client_crud_sequence()
7181
BackchannelLogoutInitiators = new BackchannelLogoutInitiators
7282
{
7383
Mode = LogoutInitiatorModes.Custom,
74-
SelectedInitiators = new [] { LogoutInitiators.RpLogout, LogoutInitiators.IdpLogout, LogoutInitiators.PasswordChanged }
84+
SelectedInitiators = selectedInitiators
7585
},
7686
BackchannelLogoutUrls = new [] { "https://create.com/logout" }
7787
},
@@ -112,8 +122,7 @@ public async Task Test_client_crud_sequence()
112122
newClientResponse.OrganizationRequireBehavior.Should().Be(OrganizationRequireBehavior.PreLoginPrompt);
113123
newClientResponse.OidcLogout.BackchannelLogoutUrls[0].Should().Be("https://create.com/logout");
114124
newClientResponse.OidcLogout.BackchannelLogoutInitiators.Mode.Should().Be(LogoutInitiatorModes.Custom);
115-
newClientResponse.OidcLogout.BackchannelLogoutInitiators.SelectedInitiators.Length.Should().Be(3);
116-
newClientResponse.OidcLogout.BackchannelLogoutInitiators.SelectedInitiators.Any(i => i == LogoutInitiators.PasswordChanged).Should().BeTrue();
125+
newClientResponse.OidcLogout.BackchannelLogoutInitiators.SelectedInitiators.Should().BeEquivalentTo(selectedInitiators);
117126
newClientResponse.DefaultOrganization.OrganizationId.Should().Be(existingOrganizationId);
118127
newClientResponse.RequirePushedAuthorizationRequests.Should().BeTrue();
119128
newClientResponse.SignedRequestObject.Should().NotBeNull();
@@ -169,8 +178,7 @@ public async Task Test_client_crud_sequence()
169178
updateClientResponse.OrganizationRequireBehavior.Should().Be(OrganizationRequireBehavior.NoPrompt);
170179
updateClientResponse.OidcLogout.BackchannelLogoutUrls[0].Should().Be("https://create.com/logout");
171180
updateClientResponse.OidcLogout.BackchannelLogoutInitiators.Mode.Should().Be(LogoutInitiatorModes.Custom);
172-
updateClientResponse.OidcLogout.BackchannelLogoutInitiators.SelectedInitiators.Length.Should().Be(3);
173-
updateClientResponse.OidcLogout.BackchannelLogoutInitiators.SelectedInitiators.Any(i => i == LogoutInitiators.PasswordChanged).Should().BeTrue();
181+
updateClientResponse.OidcLogout.BackchannelLogoutInitiators.SelectedInitiators.Should().BeEquivalentTo(selectedInitiators);
174182
updateClientResponse.DefaultOrganization.OrganizationId.Should().Be(existingOrganizationId);
175183
updateClientResponse.DefaultOrganization.Flows.Should().HaveCount(1);
176184
updateClientResponse.DefaultOrganization.Flows.First().Should().Be(Flows.ClientCredentials);
@@ -420,4 +428,4 @@ public async Task Test_crud_credentials()
420428
allCredentialsForClient.Should().BeEmpty();
421429
}
422430
}
423-
}
431+
}

0 commit comments

Comments
 (0)