Skip to content

Commit c23c8b3

Browse files
authored
docs: replace httpbin with verify (pomerium#1702)
Signed-off-by: Bobby DeSimone <[email protected]>
1 parent 4eec2ed commit c23c8b3

34 files changed

+154
-154
lines changed

.devcontainer/envs/nginx.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ services:
77
- "80:80"
88
- "443:443"
99
volumes:
10-
- ../../examples/nginx/httpbin.conf:/etc/nginx/conf.d/httpbin.conf
10+
- ../../examples/nginx/verify.conf:/etc/nginx/conf.d/verify.conf
1111
- ../../examples/nginx/pomerium.conf:/etc/nginx/conf.d/pomerium.conf
1212
- ../../examples/nginx/proxy.conf:/etc/nginx/proxy.conf
1313
- ../../examples/nginx/_wildcard.localhost.pomerium.io.pem:/etc/nginx/nginx.pem
1414
- ../../examples/nginx/_wildcard.localhost.pomerium.io-key.pem:/etc/nginx/nginx-key.pem
1515

16-
httpbin:
17-
image: kennethreitz/httpbin:latest
16+
verify:
17+
image: pomerium/verify
1818
expose:
1919
- 80
2020

.devcontainer/envs/traefik.yaml

+6-6
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,18 @@ services:
1818
volumes:
1919
- /var/run/docker.sock:/var/run/docker.sock
2020

21-
httpbin:
22-
image: kennethreitz/httpbin:latest
21+
verify:
22+
image: pomerium/verify:latest
2323
labels:
2424
- "traefik.http.middlewares.pomerium.forwardauth.authResponseHeaders=X-Pomerium-Claim-Email,X-Pomerium-Claim-User,X-Pomerium-Claim-Groups,X-Pomerium-Jwt-Assertion"
2525
- "traefik.http.middlewares.pomerium.forwardauth.address=http://pomerium/"
2626
- "traefik.http.middlewares.pomerium.forwardauth.trustForwardHeader=true"
27-
- "traefik.http.routers.httpbin.middlewares=pomerium@docker"
27+
- "traefik.http.routers.verify.middlewares=pomerium@docker"
2828

2929
- "traefik.enable=true"
30-
- "traefik.http.routers.httpbin.rule=Host(`httpbin.localhost.pomerium.io`)"
31-
- "traefik.http.routers.httpbin.entrypoints=websecure"
32-
- "traefik.http.routers.httpbin.tls=true"
30+
- "traefik.http.routers.verify.rule=Host(`verify.localhost.pomerium.io`)"
31+
- "traefik.http.routers.verify.entrypoints=websecure"
32+
- "traefik.http.routers.verify.tls=true"
3333

3434
pomerium:
3535
build: ../.

docs/docs/community/contributing.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ We use [Netlify](https://www.netlify.com) to build and host our docs. One of nic
8989
[configuration variables]: ../../reference/readme.md
9090
[download]: https://github.com/pomerium/pomerium/releases
9191
[environmental configuration variables]: https://12factor.net/config
92-
[httpbin]: https://httpbin.org/
92+
[verify]: https://verify.pomerium.com/
9393
[identity provider]: ../identity-providers/readme.md
9494
[make]: https://en.wikipedia.org/wiki/Make_(software)
9595
[tls certificates]: ../topics/certificates.md

docs/docs/quick-start/binary.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ Finally, source the configuration `env` file and run pomerium specifying the `co
3939

4040
## Navigate
4141

42-
Browse to `external-httpbin.your.domain.example`. Connections between you and [httpbin] will now be proxied and managed by Pomerium.
42+
Browse to `external-verify.your.domain.example`. Connections between you and [verify] will now be proxied and managed by Pomerium.
4343

4444
[configuration variables]: ../../reference/readme.md
4545
[download]: https://github.com/pomerium/pomerium/releases
46-
[httpbin]: https://httpbin.org/
46+
[verify]: https://verify.pomerium.com/
4747
[identity provider]: ../identity-providers/
4848
[tls certificates]: ../topics/certificates.md

docs/docs/quick-start/from-source.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,10 @@ make && ./bin/pomerium -config config.yaml
6969

7070
### Navigate
7171

72-
Browse to `httpbin.localhost.pomerium.io`. Connections between you and [httpbin] will now be proxied and managed by Pomerium.
72+
Browse to `verify.localhost.pomerium.io`. Connections between you and [verify] will now be proxied and managed by Pomerium.
7373

7474
[configuration variables]: ../../reference/readme.md
75-
[httpbin]: https://httpbin.org/
75+
[verify]: https://verify.pomerium.com/
7676
[identity provider]: ../identity-providers/
7777
[make]: https://en.wikipedia.org/wiki/Make_(software)
7878
[tls certificates]: ../topics/certificates.md

docs/docs/quick-start/helm.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ Run [./scripts/helm_gke.sh] which will:
4646

4747
## Navigate
4848

49-
Open a browser and navigate to `httpbin.your.domain.example`.
49+
Open a browser and navigate to `verify.your.domain.example`.
5050

51-
You can also navigate to the special pomerium endpoint `httpbin.your.domain.example/.pomerium/` to see your current user details.
51+
You can also navigate to the special pomerium endpoint `verify.your.domain.example/.pomerium/` to see your current user details.
5252

5353
![currently logged in user](./img/logged-in-as.png)
5454

docs/docs/quick-start/readme.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -58,18 +58,18 @@ Finally, simply run docker compose.
5858
docker-compose up
5959
```
6060

61-
Docker will automatically download the required [container images] for Pomerium and [httpbin]. Then, Pomerium will run with the configuration details set in the previous steps.
61+
Docker will automatically download the required [container images] for Pomerium and [verify]. Then, Pomerium will run with the configuration details set in the previous steps.
6262

63-
You should now be able access to the routes (e.g. `https://httpbin.corp.yourdomain.example`) as specified in your policy file.
63+
You should now be able access to the routes (e.g. `https://verify.localhost.pomerium.io`) as specified in your policy file.
6464

65-
You can also navigate to the special pomerium endpoint `httpbin.corp.yourdomain.example/.pomerium/` to see your current user details.
65+
You can also navigate to the special pomerium endpoint `verify.corp.yourdomain.example/.pomerium/` to see your current user details.
6666

6767
![currently logged in user](./img/logged-in-as.png)
6868

6969
[configuration file]: ../../reference/readme.md
7070
[container images]: https://hub.docker.com/r/pomerium/pomerium
7171
[docker]: https://docs.docker.com/install/
7272
[docker-compose]: https://docs.docker.com/compose/install/
73-
[httpbin]: https://httpbin.org/
73+
[verify]: https://verify.pomerium.com/
7474
[identity provider]: ../identity-providers/readme.md
7575
[tls certificates]: ../topics/certificates.md

docs/docs/topics/programmatic-access.md

+6-6
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ The API returns a cryptographically signed sign-in url that can be used to compl
1818
For example:
1919

2020
```bash
21-
$ curl "https://httpbin.example.com/.pomerium/api/v1/login?redirect_uri=http://localhost:8000"
21+
$ curl "https://verify.example.com/.pomerium/api/v1/login?redirect_uri=http://localhost:8000"
2222

23-
https://authenticate.example.com/.pomerium/sign_in?redirect_uri=http%3A%2F%2Flocalhost%3Fpomerium_callback_uri%3Dhttps%253A%252F%252Fhttpbin.corp.example%252F.pomerium%252Fapi%252Fv1%252Flogin%253Fredirect_uri%253Dhttp%253A%252F%252Flocalhost&sig=hsLuzJctmgsN4kbMeQL16fe_FahjDBEcX0_kPYfg8bs%3D&ts=1573262981
23+
https://authenticate.example.com/.pomerium/sign_in?redirect_uri=http%3A%2F%2Flocalhost%3Fpomerium_callback_uri%3Dhttps%253A%252F%verify.corp.example%252F.pomerium%252Fapi%252Fv1%252Flogin%253Fredirect_uri%253Dhttp%253A%252F%252Flocalhost&sig=hsLuzJctmgsN4kbMeQL16fe_FahjDBEcX0_kPYfg8bs%3D&ts=1573262981
2424
```
2525

2626
### Callback handler
@@ -35,13 +35,13 @@ Your script or application should anticipate the possibility that your underlyin
3535

3636
## High level workflow
3737

38-
The application interacting with Pomerium must manage the following workflow. Consider the following example where a script or program desires delegated, programmatic access to the domain `httpbin.corp.domain.example`:
38+
The application interacting with Pomerium must manage the following workflow. Consider the following example where a script or program desires delegated, programmatic access to the domain `verify.corp.domain.example`:
3939

40-
1. The script or application requests a new login url from the pomerium managed endpoint (e.g. `https://httpbin.corp.domain.example/.pomerium/api/v1/login`) and takes a `redirect_uri` as an argument.
40+
1. The script or application requests a new login url from the pomerium managed endpoint (e.g. `https://verify.corp.domain.example/.pomerium/api/v1/login`) and takes a `redirect_uri` as an argument.
4141
1. The script or application opens a browser or redirects the user to the returned login page.
4242
1. The user completes the identity providers login flow.
4343
1. The identity provider makes a callback to pomerium's authenticate service (e.g. `authenticate.corp.domain.example`) .
44-
1. Pomerium's authenticate service creates a user session and redirect token, then redirects back to the managed endpoint (e.g. `httpbin.corp.domain.example`)
44+
1. Pomerium's authenticate service creates a user session and redirect token, then redirects back to the managed endpoint (e.g. `verify.corp.domain.example`)
4545
1. Pomerium's proxy service makes a callback request to the original `redirect_uri` with the user session and as an argument.
4646
1. The script or application is responsible for handling that http callback request, and securely handling the callback session (`pomerium_jwt`) queryparam.
4747
1. The script or application can now make any requests as normal to the upstream application by setting the `Authorization: Pomerium ${pomerium_jwt}` header.
@@ -52,7 +52,7 @@ Please consider see the following minimal but complete python example.
5252

5353
```bash
5454
python3 scripts/programmatic_access.py \
55-
--dst https://httpbin.example.com/headers
55+
--dst https://verify.example.com/headers
5656
```
5757

5858
<<< @/scripts/programmatic_access.py

docs/docs/upgrading.md

+15-15
Original file line numberDiff line numberDiff line change
@@ -241,15 +241,15 @@ Previous programmatic authentication endpoints (`/api/v1/token`) has been remove
241241

242242
### Forward-auth route change
243243

244-
Previously, routes were verified by taking the downstream applications hostname in the form of a path `(e.g. ${forwardauth}/.pomerium/verify/httpbin.some.example`) variable. The new method for verifying a route using forward authentication is to pass the entire requested url in the form of a query string `(e.g. ${forwardauth}/.pomerium/verify?url=https://httpbin.some.example)` where the routed domain is the value of the `uri` key.
244+
Previously, routes were verified by taking the downstream applications hostname in the form of a path `(e.g. ${forwardauth}/.pomerium/verify/verify.some.example`) variable. The new method for verifying a route using forward authentication is to pass the entire requested url in the form of a query string `(e.g. ${forwardauth}/.pomerium/verify?url=https://verify.some.example)` where the routed domain is the value of the `uri` key.
245245

246246
Note that the verification URL is no longer nested under the `.pomerium` endpoint.
247247

248248
For example, in nginx this would look like:
249249

250250
```diff
251-
- nginx.ingress.kubernetes.io/auth-url: https://forwardauth.corp.example.com/.pomerium/verify/httpbin.corp.example.com?no_redirect=true
252-
- nginx.ingress.kubernetes.io/auth-signin: https://forwardauth.corp.example.com/.pomerium/verify/httpbin.corp.example.com
251+
- nginx.ingress.kubernetes.io/auth-url: https://forwardauth.corp.example.com/.pomerium/verify/verify.corp.example.com?no_redirect=true
252+
- nginx.ingress.kubernetes.io/auth-signin: https://forwardauth.corp.example.com/.pomerium/verify/verify.corp.example.com
253253
+ nginx.ingress.kubernetes.io/auth-url: https://forwardauth.corp.example.com/verify?uri=$scheme://$host$request_uri
254254
+ nginx.ingress.kubernetes.io/auth-signin: https://forwardauth.corp.example.com?uri=$scheme://$host$request_uri
255255
```
@@ -324,25 +324,25 @@ Previously, it was allowable to define a policy without a schema (e.g. `http`/`h
324324

325325
```yaml
326326
policy:
327-
- from: httpbin.corp.domain.example
328-
to: http://httpbin
327+
- from: verify.corp.domain.example
328+
to: http://verify
329329
allowed_domains:
330330
- pomerium.io
331-
- from: external-httpbin.corp.domain.example
332-
to: https://httpbin.org
331+
- from: external-verify.corp.domain.example
332+
to: https://verify.pomerium.com
333333
allow_public_unauthenticated_access: true
334334
```
335335

336336
Should now be:
337337

338338
```yaml
339339
policy:
340-
- from: https://httpbin.corp.domain.example
341-
to: http://httpbin
340+
- from: https://verify.corp.domain.example
341+
to: http://verify
342342
allowed_domains:
343343
- pomerium.io
344-
- from: https://external-httpbin.corp.domain.example
345-
to: https://httpbin.org
344+
- from: https://external-verify.corp.domain.example
345+
to: https://verify.pomerium.com
346346
allow_public_unauthenticated_access: true
347347
```
348348

@@ -364,8 +364,8 @@ Usage of the POLICY_FILE envvar is no longer supported. Support for file based p
364364
Old:
365365

366366
```yaml
367-
- from: httpbin.corp.beyondperimeter.com
368-
to: http://httpbin
367+
- from: verify.localhost.pomerium.io
368+
to: http://verify
369369
allowed_domains:
370370
- pomerium.io
371371
cors_allow_preflight: true
@@ -376,8 +376,8 @@ Usage of the POLICY_FILE envvar is no longer supported. Support for file based p
376376

377377
```yaml
378378
policy:
379-
- from: httpbin.corp.beyondperimeter.com
380-
to: http://httpbin
379+
- from: verify.localhost.pomerium.io
380+
to: http://verify
381381
allowed_domains:
382382
- pomerium.io
383383
cors_allow_preflight: true

docs/guides/cloud-run.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ And a hello page:
108108

109109
If your target application is not running on GCP, you can also perform your own header validation.
110110

111-
Browse to [https://httpbin.cloudrun.pomerium.io](https://httpbin.cloudrun.pomerium.io/headers)
111+
Browse to [https://verify.cloudrun.pomerium.io](https://verify.cloudrun.pomerium.io/headers)
112112

113113
You should see your identity header set:
114114

docs/guides/local-oidc.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ services:
3434
depends_on:
3535
- identityprovider
3636

37-
httpbin:
38-
image: kennethreitz/httpbin:latest
37+
verify:
38+
image: pomerium/verify
3939
expose:
4040
- 80
4141

@@ -75,8 +75,8 @@ cookie_secret: <reducted>
7575

7676
# https://www.pomerium.io/configuration/#policy
7777
policy:
78-
- from: https://httpbin.localhost.pomerium.io
79-
to: http://httpbin
78+
- from: https://verify.localhost.pomerium.io
79+
to: http://verify
8080
allowed_domains:
8181
- example.org
8282
```
@@ -147,7 +147,7 @@ $ : wait identityprovider up
147147
$ docker-compose up -d
148148
```
149149

150-
Now accessing to `https://httpbin.localhost.pomerium.io` and you will be redireted to OIDC server for authentication.
150+
Now accessing to `https://verify.localhost.pomerium.io` and you will be redireted to OIDC server for authentication.
151151

152152
[identity provider]: ../docs/identity-providers/
153153
[qlik/simple-oidc-provider]: https://hub.docker.com/r/qlik/simple-oidc-provider/

docs/guides/mtls.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ idp_client_id: YOUR_CLIENT_ID
7474
idp_client_secret: YOUR_SECRET
7575

7676
policy:
77-
- from: "https://httpbin.localhost.pomerium.io:8443"
78-
to: "https://httpbin.org"
77+
- from: "https://verify.localhost.pomerium.io:8443"
78+
to: "https://verify.org"
7979
allow_public_unauthenticated_access: true
8080
```
8181
@@ -89,7 +89,7 @@ Before visiting the page in your browser we have one final step.
8989

9090
## Install Client Certificate
9191

92-
Because `https://httpbin.localhost.pomerium.io:8443` now requires a client certificate to be accessed, we first need to install that client certificate in our browser. The following instructions are for Chrome, but client certificates are supported in all major browsers.
92+
Because `https://verify.localhost.pomerium.io:8443` now requires a client certificate to be accessed, we first need to install that client certificate in our browser. The following instructions are for Chrome, but client certificates are supported in all major browsers.
9393

9494
Go to <chrome://settings/certificates>:
9595

@@ -109,6 +109,6 @@ You should see the `org-mkcert development certificate` in the list of your cert
109109

110110
## Using the Client Certificate
111111

112-
You can now visit **<https://httpbin.localhost.pomerium.io>** and you should be prompted to choose a client certificate:
112+
You can now visit **<https://verify.localhost.pomerium.io>** and you should be prompted to choose a client certificate:
113113

114114
![choose client certificate](./img/mtls/05-select-client-certificate.png)

docs/guides/nginx.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ description: >-
1313

1414
This recipe's sources can be found [on github](https://github.com/pomerium/pomerium/tree/master/examples/nginx)
1515

16-
At the end, you will have a locally running install of [httpbin](https://httpbin.org/) behind nginx with policy enforced by Pomerium.
16+
At the end, you will have a locally running install of [verify](https://verify.pomerium.com/) behind nginx with policy enforced by Pomerium.
1717

1818
## Background
1919

@@ -72,28 +72,28 @@ Nginx configuration for Pomerium endpoints
7272

7373
<<< @/examples/nginx/pomerium.conf
7474

75-
### Nginx - httpbin
75+
### Nginx - verify
7676

7777
Nginx configuration for the protected endpoint
7878

79-
<<< @/examples/nginx/httpbin.conf
79+
<<< @/examples/nginx/verify.conf
8080

8181
### Docker Compose
8282

8383
<<< @/examples/nginx/docker-compose.yaml
8484

85-
Run `docker-compose up`. After a few seconds, browse to [httpbin.localhost.pomerium.io](https://httpbin.localhost.pomerium.io).
85+
Run `docker-compose up`. After a few seconds, browse to [verify.localhost.pomerium.io](https://verify.localhost.pomerium.io).
8686

87-
You should be prompted to log in through your IdP and then granted access to the deployed `httpbin` instance.
87+
You should be prompted to log in through your IdP and then granted access to the deployed `verify` instance.
8888

8989
## That's it!
9090

91-
Your `httpbin` install is protected by Pomerium.
91+
Your `verify` install is protected by Pomerium.
9292

9393
## Adapting
9494

9595
To re-use the configuration in this demo in other contexts:
9696

97-
- Update `httpbin.conf` to reflect the correct forward auth URL in `location @error401`
97+
- Update `verify.conf` to reflect the correct forward auth URL in `location @error401`
9898
- Update `pomerium.conf` to reflect the pomerium hostname(s) or IP(s) in `upstream pomerium`
9999
- Update `pomerium.conf` to reflect your pomerium authenticate and forward auth hostnames in `server_name`

0 commit comments

Comments
 (0)