• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pomerium / pomerium / 19183140028
44%

Build:
DEFAULT BRANCH: main
Ran 07 Nov 2025 10:45PM UTC
Jobs 1
Files 576
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

07 Nov 2025 10:38PM UTC coverage: 55.476% (-0.6%) from 56.094%
19183140028

push

github

web-flow
feat: ssh authorization code flow (#5873)

## Summary

Implements the oauth authorization code flow for native SSH connections
in pomerium.

## Related issues


[ENG-3056](https://linear.app/pomerium/issue/ENG-3056/ssh-authorization-code-flow-initial-implementation)

The issue has a comment explaining some known limitations.

## User Explanation

Allows user to use native SSH without requiring IDPs to support the
device code flow. Native ssh now uses the Authorization code flow, which
most if not all IDPs support - notably, any existing IDP configuration
for non-native ssh Pomerium should now work with native ssh.

## Checklist

- [X] reference any related issues
- [X] updated unit tests
- [X] add appropriate label (`enhancement`, `bug`, `breaking`,
`dependencies`, `ci`)
- [X] ready for review

---------

Co-authored-by: Joe Kralicky <joekralicky@gmail.com>

284 of 1065 new or added lines in 19 files covered. (26.67%)

25 existing lines in 5 files now uncovered.

28737 of 51801 relevant lines covered (55.48%)

94.77 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
0.0
0.0% authorize/ssh_grpc.go
1
0.0
0.0% internal/testenv/upstreams/tcp.go
2
60.58
-0.81% internal/urlutil/known.go
7
88.86
-0.8% pkg/ssh/manager.go
9
0.0
0.0% internal/authenticateflow/stateless.go
9
0.0
internal/handlers/session_binding_info.go
13
0.0
internal/handlers/signin_success.go
13
0.0
internal/handlers/signin_verify.go
16
77.78
pkg/ssh/code/code_manager.go
17
0.0
0.0% internal/testenv/upstreams/http.go
29
83.94
2.35% pkg/ssh/auth.go
31
74.76
-5.62% authenticate/handlers.go
58
0.0
0.0% internal/testenv/scenarios/ssh.go
64
0.0
pkg/ssh/code/relational.go
68
0.0
pkg/ssh/code/revoker.go
77
0.0
pkg/ssh/code/reader.go
165
0.0
pkg/ssh/code/issuer.go
201
41.58
-32.44% internal/authenticateflow/stateful.go

Uncovered Existing Lines

Lines Coverage ∆ File
2
68.48
0.0% internal/databroker/server_clustered_follower.go
3
83.94
2.35% pkg/ssh/auth.go
4
88.86
-0.8% pkg/ssh/manager.go
7
72.3
-4.73% pkg/grpcutil/client_manager.go
9
87.75
-2.94% config/config_source.go
Jobs
ID Job ID Ran Files Coverage
1 19183140028.1 07 Nov 2025 10:45PM UTC 576
55.48
GitHub Action Run
Source Files on build 19183140028
  • Tree
  • List 576
  • Changed 23
  • Source Changed 13
  • Coverage Changed 20
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #19183140028
  • fcf321fb on github
  • Prev Build on main (#19178357762)
  • Next Build on main (#19238204824)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc