You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: en/includes/guides/authentication/oidc/discover-oidc-configs.md
+51-37Lines changed: 51 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,29 +1,41 @@
1
-
# Discover OpenID Connect endpoints of {{ product_name }}
1
+
# Discover OpenID Connect endpoints and configurations
2
2
3
-
When you build OpenID Connect login in your application using {{product_name}} as your identity provider, you need to get the OpenID Connect endpoints and configurations from {{ product_name }}.
3
+
When building OpenID Connect (OIDC) login in your application using {{product_name}} as your identity provider, your application needs the relevant OIDC endpoints and configurations. Your application can get these endpoints in **two main steps**:
4
4
5
-
You can do this by invoking the discovery endpoint API or by using the {{ product_name }} Console as explained below.
5
+
1.**Discover the issuer (Optional)**:
6
6
7
-
## Prerequisite
7
+
When the issuer URL of the OpenID Provider is not known in advance, your application can dynamically discover it using the **WebFinger** endpoint.
8
+
9
+
2.**Retrieve the OpenID Connect metadata from the issuer**:
10
+
11
+
Once your application discovers the issuer URL (either via WebFinger or because it’s already configured), your application can fetch the OpenID Connect metadata. This includes all the necessary endpoints (authorization, token, introspection, revocation, logout, etc.), supported scopes, response types, claims, and client authentication methods.
12
+
13
+
For clients or SDKs that cannot dynamically fetch these endpoints, you can get them manually from the {{product_name}} Console.
14
+
15
+
This guide explains how to discover the OpenID Connect endpoints of {{ product_name }} using both the API and the Console.
16
+
17
+
## Prerequisites
8
18
9
19
To get started, you need to have an application registered in {{ product_name }}:
10
20
11
21
- Register a [single-page app with OIDC]({{base_path}}/guides/applications/register-single-page-app/).
12
22
- Register a [web app with OIDC]({{base_path}}/guides/applications/register-oidc-web-app/).
13
23
14
-
## Use the discovery endpoint
24
+
## Use the API
15
25
16
-
### Discover the issuer
26
+
This section explains how your application can dynamically discover the OpenID Connect endpoints.
17
27
18
-
OpenID Provider issuer discovery refers to the process of determining the location
19
-
of the OpenID Provider. The following endpoint is responsible for revealing the OpenID Provider's
20
-
issuer after validating the required parameters (Resource, Host and rel).
28
+
### Step 1: Discover the issuer
29
+
30
+
OpenID Provider issuer discovery, process allows a client application to automatically find the location (issuer URL) of the OpenID Provider.
31
+
32
+
You can use the following endpoint to retrieve the issuer information.
21
33
22
34
```bash
23
35
{{ product_url_format }}/.well-known/webfinger
24
36
```
25
37
26
-
Following information is required when making a request to discover the issuer's location.
38
+
The endpoint accepts the following required parameters.
27
39
28
40
<table>
29
41
<thead>
@@ -35,24 +47,24 @@ Following information is required when making a request to discover the issuer's
35
47
</thead>
36
48
<tbody>
37
49
<trclass="odd">
38
-
<td>Resource</td>
39
-
<td>Identifier for the target end user that is the subject of the discovery request.</td>
50
+
<td><code>resource</code></td>
51
+
<td>The identifier of the user whose OpenID Provider (issuer) you want to discover.</td>
40
52
<td>acct:admin@localhost</td>
41
53
</tr>
42
54
<trclass="even">
43
-
<td>HostServer</td>
44
-
<td>Where the WebFinger service is hosted.</td>
45
-
<td>localhost</td>
55
+
<td><code>host</code></td>
56
+
<td>Specify the domain or server that hosts the WebFinger service.</td>
57
+
<td>localhost:9443</td>
46
58
</tr>
47
59
<trclass="odd">
48
-
<td>rel</td>
49
-
<td>URI identifying the type of service whose location is being requested.</td>
60
+
<td><code>rel</code></td>
61
+
<td>Specify the URI that identifies the type of service you want to locate.</td>
@@ -104,7 +116,8 @@ Following information is required when making a request to discover the issuer's
104
116
```
105
117
106
118
107
-
**Sample response**
119
+
#### Sample response
120
+
108
121
```json
109
122
{
110
123
"subject": "acct:admin@localhost",
@@ -117,23 +130,25 @@ Following information is required when making a request to discover the issuer's
117
130
}
118
131
```
119
132
120
-
### Discover the issuer metadata
133
+
### Step 2: Discover the issuer metadata
121
134
122
-
OpenID Connect Discovery <!--[OpenID Connect Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html)--> allows you to discover the metadata such as endpoints, scopes, response types, claims, and supported client authentication methods of identity providers such as {{ product_name }}.
135
+
[OpenID Connect Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) allows you to discover the metadata such as endpoints, scopes, response types, claims, and supported client authentication methods of identity providers such as {{ product_name }}.
123
136
124
137
Applications can dynamically discover the OpenID Connect identity provider metadata by calling the OpenID Connect discovery <!-- [OpenID Connect discovery](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationRequest)--> endpoint. The structure of the request URL is as follows: `<issuer>/.well-known/openid-configuration`.
@@ -189,15 +205,13 @@ Applications can dynamically discover the OpenID Connect identity provider metad
189
205
}
190
206
```
191
207
192
-
## Use the console
193
-
194
-
Some applications and SDKs are not capable of dynamically resolving endpoints from OpenID Connect discovery. For such applications, you need to configure endpoints manually.
208
+
## Use the Console
195
209
196
-
You can get the endpointsfrom the console as follows:
210
+
For applications and SDKs that can't dynamically resolve OpenID Connect endpoints, you can manually copy the relevant information from the Console. To do so,
197
211
198
212
1. On the {{ product_name }}, go to **Applications**.
199
213
200
-
2. Select an OIDC application from the list.
214
+
2. Select your OIDC application from the list.
201
215
202
216
3. Go to the **Info** tab of the application and find the server endpoints to your organization.
0 commit comments