Skip to content

Commit 70caedc

Browse files
committed
Update identity aware proxy proposal
- Added a section for where OIDC is not possible. - Added a section for integration and use case. Signed-off-by: Sheng Jiang <[email protected]>
1 parent 96b99be commit 70caedc

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed

proposals/new/identity-aware-proxy.md

+23-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
Harbor Proposal: Identity Aware proxy authentication mode
1+
# Harbor Proposal: Identity Aware proxy authentication mode
22

33
Author: Sheng Jiang/shengjiang3, Eric Liu/LiuShuaiyi
44

5-
Date: Oct 10, 2023
5+
Date: Oct 30, 2023
66

77
## Abstract
88

@@ -11,17 +11,33 @@ authentication authority in Harbor.
1111

1212
## Background
1313

14-
Currently, Harbor supports the OIDC protocol, however this means that Harbor
15-
cannot be seamlessly integrated into Single Sign-On (SSO) within an organization
16-
because Harbor must perform the code exchange for an identity token.
14+
Currently, Harbor supports the OIDC protocol for authentication. An organization
15+
can configure Harbor to use an OIDC identity provider to provider
16+
authentication. However, there are some scenarios where additional support is
17+
needed, for example:
18+
19+
- If SAML or LDAP is used for the identity provider.
20+
- If more than one OIDC provider needs to be used.
21+
- Integrating Harbor with Single Sign-On (SSO) within an organization. For
22+
example, if the organization runs Harbor behind a reverse proxy (e.g- Istio)
23+
that federates identity providers (e.g- Dex).
1724

1825
## Proposal
1926

2027
Add another authentication option, letting the identity provider authenticate
2128
and issue an identity token while Harbor assumes the role of an application that
2229
consumes the identity token. Harbor would act as an OIDC token verifier. The
23-
goal is to allow Harbor to plug in to any upstream OIDC identity provider
24-
allowing an SSO credential to authenticate with Harbor.
30+
goal is to allow Harbor to plug in to an upstream OIDC identity proxy allowing
31+
an SSO credential to authenticate with Harbor.
32+
33+
This opens up the use case where an identity proxy (such as Dex) can be
34+
configured to support multiple identity providers and pass on an identity token
35+
that is used by Harbor.
36+
37+
Alternatively, Harbor could be integrated as a proxied application running
38+
behind NGINX. NGINX can be configured to provide SSO by acting as the relying
39+
party to an OIDC identity provider. As a result, the identity token passed by
40+
NGINX could also be used as the identity of the user inside of Harbor.
2541

2642
### Key terms
2743

0 commit comments

Comments
 (0)