identity: rework session refresh error handling (#4638) Currently, if a temporary error occurs while attempting to refresh an OAuth2 token, the identity manager won't schedule another attempt. Instead, update the session refresh logic so that it will retry after temporary errors. Extract the bulk of this logic into a separate method that returns a boolean indicating whether to schedule another refresh. Update the unit test to simulate a temporary error during OAuth2 token refresh. Co-authored-by: Kenneth Jenkins <51246568+kenjenkins@users.noreply.github.com> |
||
---|---|---|
.github | ||
.vscode | ||
authenticate | ||
authorize | ||
cmd/pomerium | ||
config | ||
databroker | ||
examples | ||
integration | ||
internal | ||
ospkg | ||
pkg | ||
proxy | ||
scripts | ||
ui | ||
.codecov.yml | ||
.dockerignore | ||
.fossa.yml | ||
.gitattributes | ||
.gitignore | ||
.golangci.yml | ||
.pre-commit-config.yaml | ||
.tool-versions | ||
3RD-PARTY | ||
DEBUG.MD | ||
Dockerfile | ||
Dockerfile.debug | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
pomerium.go | ||
README.md | ||
RELEASING.md | ||
SECURITY.md | ||
tools.go |
Pomerium builds secure, clientless connections to internal web apps and services without a corporate VPN.
Pomerium is:
- Easier because you don’t have to maintain a client or software.
- Faster because it’s deployed directly where your apps and services are. No more expensive data backhauling.
- Safer because every single action is verified for trusted identity, device, and context.
It’s not a VPN alternative – it’s the trusted, foolproof way to protect your business.
Docs
For comprehensive docs, and tutorials see our documentation.
Integration Tests
To run the integration tests locally, first build a local development image:
./scripts/build-dev-docker.bash
Next go to the integration/clusters
folder and pick a cluster, for example google-single
, then use docker-compose to start the cluster. We use an environment variable to specify the dev
docker image we built earlier:
cd integration/clusters/google-single
env POMERIUM_TAG=dev docker-compose up -V
Once that's up and running you can run the integration tests from another terminal:
go test -count=1 -v ./integration/...
If you need to make a change to the clusters themselves, there's a tpl
folder that contains jsonnet
files. Make a change and then rebuild the clusters by running:
go run ./integration/cmd/pomerium-integration-tests/ generate-configuration