[ 
https://issues.apache.org/jira/browse/NIFI-14061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17903010#comment-17903010
 ] 

David Handermann commented on NIFI-14061:
-----------------------------------------

Thanks for describing this potential improvement [~Chris S].

As described, I don't think it is a good idea to support overriding selected 
endpoints from the discovery configuration. The purpose of the OIDC 
Configuration is to provide all the necessary configuration, so if it is 
incorrect, that should be addressed on the Identity Provider, or through an 
intermediate proxy, not at the NiFi level.

With that being said, OIDC is built on top of OAuth 2, and provides 
formalization around various approaches. From that angle, there is potential 
value in supporting OAuth 2 on its own, which would necessitate configuring 
individual endpoints for token retrieval and verification. This excludes some 
elements, such as User Info, which are specific to OIDC, but it could support 
integrated authentication with providers that do not implement the complete set 
of OIDC specifications.

Part of a potential implementation should include identifying at least one 
common identity provider that supports expected OAuth 2 endpoints, but not 
OIDC. This would provide a baseline of expected support. Without that, the 
variety of implementation strategies could make this difficult to maintain.

If you have additional background on a potential identity provider that 
supports OAuth 2 with the Authorization Code Flow, but not OIDC, that would be 
a helpful bit of additional background.

> Allow override of individual OIDC endpoints
> -------------------------------------------
>
>                 Key: NIFI-14061
>                 URL: https://issues.apache.org/jira/browse/NIFI-14061
>             Project: Apache NiFi
>          Issue Type: Improvement
>    Affects Versions: 2.0.0
>            Reporter: Chris Sampson
>            Priority: Minor
>
> NiFi allows for the use of OIDC for User authentication and authorisation.
> This is currently configured via the 
> {{nifi.security.user.oidc.discovery.url}} property (amongst others), which 
> relies on the OIDC IdP to present its endpoints via the standard 
> {{.well-known/oidc-configuration}} endpoint JSON document.
> In many cases, this is sufficient and works. However, in some network setups 
> it might be that one can and would prefer to use internal vs. external 
> connectivity for some of the OIDC endpoints (e.g. the token, userinfo, 
> JWKSet) whereas others need to remain external (e.g. Auth and Session End) 
> for the users to be directed to during login/logout.
> The OIDC IdP is (most likely) not able to be configured to communicate this 
> via the {{.well-known}} endpoint as most would likely expect the endpoints to 
> be accessed via the same domain by default.
> NiFi could allow users to override these endpoints individually, for example 
> the {{.well-known}} document could be the default way to obtain the necessary 
> OIDC configuration, but then individual endpoints could be overriden by 
> additional (optional) {{nifi.properties}} settings.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to