Skip to content

Commit e7cb80b

Browse files
committed
Add security.oidc_authenticate specification
1 parent d0bcf86 commit e7cb80b

File tree

2 files changed

+82
-0
lines changed

2 files changed

+82
-0
lines changed
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
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+
* Authenticate OpenID Connect.
24+
* Exchange an OpenID Connect authentication response message for an Elasticsearch internal access token and refresh token that can be subsequently used for authentication.
25+
*
26+
* Elasticsearch exposes all the necessary OpenID Connect related functionality via the OpenID Connect APIs.
27+
* 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+
* @rest_spec_name security.oidc_authenticate
29+
* @availability stack stability=stable visibility=public
30+
*/
31+
export interface Request extends RequestBase {
32+
body: {
33+
/**
34+
* Associate a client session with an ID token and mitigate replay attacks.
35+
* This value needs to be the same as the one that was provided to the `/_security/oidc/prepare` API or the one that was generated by Elasticsearch and included in the response to that call.
36+
*/
37+
nonce: string
38+
/**
39+
* The name of the OpenID Connect realm.
40+
* This property is useful in cases where multiple realms are defined. */
41+
realm?: string
42+
/**
43+
* The URL to which the OpenID Connect Provider redirected the User Agent in response to an authentication request after a successful authentication.
44+
* This URL must be provided as-is (URL encoded), taken from the body of the response or as the value of a location header in the response from the OpenID Connect Provider.
45+
*/
46+
redirect_uri: string
47+
/**
48+
* Maintain state between the authentication request and the response.
49+
* This value needs to be the same as the one that was provided to the `/_security/oidc/prepare` API or the one that was generated by Elasticsearch and included in the response to that call.
50+
*/
51+
state: string
52+
}
53+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
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 { integer } from '@_types/Numeric'
21+
22+
export class Response {
23+
body: {
24+
access_token: string
25+
expires_in: integer
26+
refresh_token: string
27+
type: string
28+
}
29+
}

0 commit comments

Comments
 (0)