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
Updates self-hosted authn doc (#1566)
* updates self-hosted authn doc
* runs prettier
* reformats self-hosted authn page
* runs prettier
* suggested revisions to self-hosted authenticate service page
Also make a small tweak to the hosted authenticate service page for
consistent language around the supported products, and update the
Identity Providers guides index page to link to all the guides right on
that page.
* actually make product info langauge consistent
* remove example configuration
* prettier
* small text updates
* adds a why subsection
* prettier
* simplify explanation, move to info admonition
* update info admonition title
---------
Co-authored-by: zachary painter <[email protected]>
Co-authored-by: Kenneth Jenkins <[email protected]>
keywords: [self-hosted authenticate service url, self-hosted identity provider]
6
-
description: Use Pomerium's Self-Hosted Authenticate Service to set up and deploy Pomerium with your own hosted settings.
6
+
description: Use Pomerium's Self-Hosted Authenticate Service to deploy Pomerium with your own identity provider.
7
7
---
8
8
9
9
# Self-Hosted Authenticate Service
10
10
11
-
Pomerium's **Self-Hosted Authenticate Service** allows you to configure your own **Authenticate Service URL** and **Identity Provider**.
11
+
Pomerium's **Self-Hosted Authenticate Service** allows you to configure Pomerium with the identity provider of your choice.
12
12
13
-
The Self-Hosted Authenticate Service is available for both open-source Pomerium Core and Enterprise users.
13
+
The self-hosted authenticate service is available for open-source Pomerium, Pomerium Zero, and Pomerium Enterprise.
14
14
15
-
## How the Self-Hosted Authenticate Service works
15
+
:::info
16
16
17
-
Self-hosting your Pomerium instance requires you to configure an [Authenticate Service URL](/docs/reference/service-urls#authenticate-service-url) and an OIDC-compliant [identity provider](/docs/identity-providers) (IdP).
17
+
The _authenticate service_ is one of the [four logical services](/docs/internals/architecture#component-level) that make up Pomerium. The authenticate service is unique in that Pomerium can either run this service itself, or instead use the [Hosted Authenticate Service](/docs/capabilities/hosted-authenticate-service).
18
+
19
+
:::
20
+
21
+
## How the self-hosted authenticate service works
22
+
23
+
To configure the self-hosted authenticate service, you will need to set up:
24
+
25
+
- a URL for the authenticate service
26
+
- an identity provider (IdP)
18
27
19
28
### Authenticate service URL
20
29
21
-
The authenticate service URL is an externally accessible URL used by Pomerium's Authenticate Service. You can include your own URL for testing or use Pomerium's localhost URL, which is hardcoded to point to `127.0.0.1`.
30
+
The authenticate service URL is a public-facing URL that should resolve to your Pomerium instance. (If running in split service mode, this URL should resolve to the authenticate service.) Whenever a user is required to log in to access a route, Pomerium will redirect the user to the authenticate service using this URL.
This URL should not contain a path or query parameters. For example, `https://authenticate.corp.example.com`.
26
33
27
-
### Identity provider
34
+
This URL must be different from any of the route URLs you use with Pomerium.
28
35
29
-
Pomerium's Authenticate Service requires an IdP to authenticate and authorize users. Pomerium supports all major IdP solutions and any IdP that uses OAuth 2.0 and OIDC protocols as well.
36
+
See the [Authenticate Service URL](/docs/reference/service-urls#authenticate-service-url) reference page for details on how to configure this setting.
30
37
31
-
## Configure the Self-Hosted Authenticate Service
38
+
:::info Why does Pomerium use a separate authenticate service URL?
32
39
33
-
To configure Pomerium to use self-hosted services:
40
+
In a typical OIDC authentication flow, all redirect URLs must be pre-registered with the IdP. Pomerium uses a single authenticate service URL so that you need to register only one redirect URL with your IdP. This way, Pomerium can protect multiple upstream services without requiring you to update your IdP client whenever you add a new service.
Pomerium relies on an IdP to authenticate users. Pomerium can use any IdP that implements the OpenID Connect (OIDC) protocol.
42
47
43
-
```yaml pomerium-config.yaml
44
-
idp_provider: google
45
-
idp_client_id: my_client_id
46
-
idp_client_secret: my_client_secret
47
-
```
48
+
The steps to configure your IdP will vary depending on the specific provider. See [**Identity Providers**](/docs/identity-providers) for a list of guides to configure commonly-used IdPs.
48
49
49
-
1. Build a route and policy
50
+
You will generally need to configure your IdP client to allow an OAuth redirect URL based on your chosen authenticate service URL, with the path `/oauth2/callback` appended to it.
For example, if your authenticate service URL is `https://authenticate.corp.example.com`, you should configure your identity provider to allow the redirect URI `https://authenticate.corp.example.com/oauth2/callback`.
62
53
63
-
Your self-hosted configuration file might look like this:
If you require a different callback path than `/oauth2/callback`, you can use the [Authenticate Callback Path](/docs/reference/authenticate-callback-path) setting to change the callback path.
Once you have set up an IdP client, you will need to configure Pomerium with the IdP name, client ID and client secret, and possibly a URL assigned to your individual IdP client.
82
61
83
-
See the [Pomerium Core Docker quickstart](/docs/core/quickstart) for more examples.
62
+
See the [Identity Provider Settings](/docs/reference/identity-provider-settings#identity-provider-client-id) reference page for details on how to configure these settings.
Copy file name to clipboardExpand all lines: content/docs/identity-providers/index.mdx
+8-4Lines changed: 8 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,8 @@ pagination_prev: null
16
16
pagination_next: null
17
17
---
18
18
19
+
importDocCardListfrom'@theme/DocCardList';
20
+
19
21
Pomerium provides authentication through your existing identity provider (**IdP**) and supports all major single sign-on (**SSO**) providers.
20
22
21
23
Pomerium uses the OAuth 2.0 and OIDC protocols to integrate with your IdP so you can configure any IdP solution that supports these protocols.
@@ -32,13 +34,15 @@ For example, `https://{authenticate_service_url}.com/oauth2/callback`.
32
34
33
35
See the guides in this section for specific steps to integrate your IdP with Pomerium.
34
36
35
-
## Hosted identity provider
37
+
:::tip
38
+
39
+
If you want to try out Pomerium without configuring an IdP, you can use our [Hosted Authenticate Service](/docs/capabilities/hosted-authenticate-service) instead.
36
40
37
-
Pomerium’s [**Hosted Authenticate Service**](/docs/capabilities/hosted-authenticate-service) provides a **Hosted Authenticate Service URL** and a **Hosted Identity Provider**.
41
+
:::
38
42
39
-
If you use the hosted services, you don’t need to include IdP settings or an authenticate service URL in your configuration.
43
+
## Identity provider guides
40
44
41
-
See [Configure hosted services](/docs/capabilities/hosted-authenticate-service#configure-the-hosted-authenticate-service) for more information.
0 commit comments