Skip to content

Commit a0f29c2

Browse files
committed
Add OIDC logout specification
1 parent a9743d3 commit a0f29c2

File tree

6 files changed

+89
-2
lines changed

6 files changed

+89
-2
lines changed

specification/security/oidc_authenticate/Request.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import { RequestBase } from '@_types/Base'
2323
* Authenticate OpenID Connect.
2424
* Exchange an OpenID Connect authentication response message for an Elasticsearch internal access token and refresh token that can be subsequently used for authentication.
2525
*
26-
* Elasticsearch exposes all the necessary OpenID Connect related functionality via the OpenID Connect APIs.
26+
* Elasticsearch exposes all the necessary OpenID Connect related functionality with the OpenID Connect APIs.
2727
* These APIs are used internally by Kibana in order to provide OpenID Connect based authentication, but can also be used by other, custom web applications or other clients.
2828
* @rest_spec_name security.oidc_authenticate
2929
* @availability stack stability=stable visibility=public

specification/security/oidc_authenticate/Response.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,21 @@ import { integer } from '@_types/Numeric'
2121

2222
export class Response {
2323
body: {
24+
/**
25+
* The Elasticsearch access token.
26+
*/
2427
access_token: string
28+
/**
29+
* The duration (in seconds) of the tokens.
30+
*/
2531
expires_in: integer
32+
/**
33+
* The Elasticsearch refresh token.
34+
*/
2635
refresh_token: string
36+
/**
37+
* The type of token.
38+
*/
2739
type: string
2840
}
2941
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/*
2+
* Licensed to Elasticsearch B.V. under one or more contributor
3+
* license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright
5+
* ownership. Elasticsearch B.V. licenses this file to you under
6+
* the Apache License, Version 2.0 (the "License"); you may
7+
* not use this file except in compliance with the License.
8+
* You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
20+
import { RequestBase } from '@_types/Base'
21+
22+
/**
23+
* Logout of OpenID Connect.
24+
* Invalidate an access token and a refresh token that were generated as a response to the `/_security/oidc/authenticate` API.
25+
*
26+
* If the OpenID Connect authentication realm in Elasticsearch is accordingly configured, the response to this call will contain a URI pointing to the end session endpoint of the OpenID Connect Provider in order to perform single logout.
27+
*
28+
* Elasticsearch exposes all the necessary OpenID Connect related functionality with the OpenID Connect APIs.
29+
* These APIs are used internally by Kibana in order to provide OpenID Connect based authentication, but can also be used by other, custom web applications or other clients.
30+
* @rest_spec_name security.oidc_logout
31+
* @availability stack stability=stable visibility=public
32+
*/
33+
export interface Request extends RequestBase {
34+
body: {
35+
/**
36+
* The access token to be invalidated.
37+
*/
38+
access_token: string
39+
/**
40+
* The refresh token to be invalidated.
41+
*/
42+
refresh_token?: string
43+
}
44+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
/*
2+
* Licensed to Elasticsearch B.V. under one or more contributor
3+
* license agreements. See the NOTICE file distributed with
4+
* this work for additional information regarding copyright
5+
* ownership. Elasticsearch B.V. licenses this file to you under
6+
* the Apache License, Version 2.0 (the "License"); you may
7+
* not use this file except in compliance with the License.
8+
* You may obtain a copy of the License at
9+
*
10+
* http://www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing,
13+
* software distributed under the License is distributed on an
14+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
* KIND, either express or implied. See the License for the
16+
* specific language governing permissions and limitations
17+
* under the License.
18+
*/
19+
20+
export class Response {
21+
body: {
22+
/**
23+
* A URI that points to the end session endpoint of the OpenID Connect Provider with all the parameters of the logout request as HTTP GET parameters.
24+
*/
25+
redirect: string
26+
}
27+
}

specification/security/oidc_prepare_authentication/Request.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ import { RequestBase } from '@_types/Base'
2525
*
2626
* The response of this API is a URL pointing to the Authorization Endpoint of the configured OpenID Connect Provider, which can be used to redirect the browser of the user in order to continue the authentication process.
2727
*
28-
* Elasticsearch exposes all the necessary OpenID Connect related functionality via the OpenID Connect APIs. These APIs are used internally by Kibana in order to provide OpenID Connect based authentication, but can also be used by other, custom web applications or other clients.
28+
* Elasticsearch exposes all the necessary OpenID Connect related functionality with the OpenID Connect APIs.
29+
* These APIs are used internally by Kibana in order to provide OpenID Connect based authentication, but can also be used by other, custom web applications or other clients.
2930
* @rest_spec_name security.oidc_prepare_authentication
3031
* @availability stack stability=stable visibility=public
3132
*/

specification/security/oidc_prepare_authentication/Response.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ export class Response {
2121
body: {
2222
nonce: string
2323
realm: string
24+
/**
25+
* A URI that points to the authorization endpoint of the OpenID Connect Provider with all the parameters of the authentication request as HTTP GET parameters.
26+
*/
2427
redirect: string
2528
state: string
2629
}

0 commit comments

Comments
 (0)