Skip to content
This repository was archived by the owner on Sep 8, 2025. It is now read-only.

Commit 8ceadee

Browse files
add PrepareLogout
1 parent f8fc350 commit 8ceadee

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/IdentityModel.OidcClient/OidcClient.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,24 @@ public async Task<LoginResult> LoginAsync(LoginRequest request)
108108
return result;
109109
}
110110

111+
/// <summary>
112+
/// Creates a logout URL.
113+
/// </summary>
114+
/// <param name="request">The logout request.</param>
115+
/// <returns></returns>
116+
public string PrepareLogout(LogoutRequest request = null)
117+
{
118+
if (request == null) request = new LogoutRequest();
119+
120+
var endpoint = _options.ProviderInformation.EndSessionEndpoint;
121+
if (endpoint.IsMissing())
122+
{
123+
throw new InvalidOperationException("Discovery document has no end session endpoint");
124+
}
125+
126+
return _authorizeClient.CreateEndSessionUrl(endpoint, request);
127+
}
128+
111129
/// <summary>
112130
/// Starts a logout.
113131
/// </summary>

0 commit comments

Comments
 (0)