RP-initiated logout (POST)
curl --request POST \
--url https://prod-auth.tktchurch.com/oauth/end_sessionimport Foundation
let url = URL(string: "https://prod-auth.tktchurch.com/oauth/end_session")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))const options = {method: 'POST'};
fetch('https://prod-auth.tktchurch.com/oauth/end_session', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-auth.tktchurch.com/oauth/end_session"
response = requests.post(url)
print(response.text){
"error": "invalid_request",
"error_description": "Redirect URI not registered for this client"
}RP-initiated logout (POST)
OIDC logout; clears the session server-side.
POST
/
oauth
/
end_session
RP-initiated logout (POST)
curl --request POST \
--url https://prod-auth.tktchurch.com/oauth/end_sessionimport Foundation
let url = URL(string: "https://prod-auth.tktchurch.com/oauth/end_session")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))const options = {method: 'POST'};
fetch('https://prod-auth.tktchurch.com/oauth/end_session', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://prod-auth.tktchurch.com/oauth/end_session"
response = requests.post(url)
print(response.text){
"error": "invalid_request",
"error_description": "Redirect URI not registered for this client"
}Response
Logged out
