[ https://issues.apache.org/jira/browse/SLING-12714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17958774#comment-17958774 ]
Robert Munteanu commented on SLING-12714: ----------------------------------------- Thanks for the PR [~nscendoni] - only one minor comment. Looking at the tests this lead me down a rabbit hole (and fully my fault for not reviewing the initial PR in a timely manner ) - I saw in https://github.com/apache/sling-org-apache-sling-auth-oauth-client/blob/449b3feeadd93e1d667081ed9ebeb58951c78d7c/src/test/java/org/apache/sling/auth/oauth_client/impl/OidcAuthenticationHandlerTest.java#L95 that you are mocking the SlingRepository . That to me is a smell because we already have proper mocks for the repository - All the OidcAuthenticationHandler does with the SlingRepository is pass it to the LoginCookieManager as a parameter - https://github.com/apache/sling-org-apache-sling-auth-oauth-client/blob/449b3feeadd93e1d667081ed9ebeb58951c78d7c/src/main/java/org/apache/sling/auth/oauth_client/impl/OidcAuthenticationHandler.java#L551 Why do we need to have a reference to the {{SlingRepository}} in the API? The default SlingLoginCookieManager does not even use this parameter - https://github.com/apache/sling-org-apache-sling-auth-oauth-client/blob/449b3feeadd93e1d667081ed9ebeb58951c78d7c/src/main/java/org/apache/sling/auth/oauth_client/impl/SlingLoginCookieManager.java#L89-L107 . I think it would be preferrable for custom implementations of the {{LoginCookieManager}} to make this a requirement via declarative service ( {{@Reference}} ) and remove this from the API. In that direction, since we ship a default {{SlingLoginCookieManager}}, do we need to make the reference optional? See https://github.com/apache/sling-org-apache-sling-auth-oauth-client/blob/449b3feeadd93e1d667081ed9ebeb58951c78d7c/src/main/java/org/apache/sling/auth/oauth_client/impl/OidcAuthenticationHandler.java#L155-L156 > Oidc Authentication Handler > --------------------------- > > Key: SLING-12714 > URL: https://issues.apache.org/jira/browse/SLING-12714 > Project: Sling > Issue Type: Improvement > Components: Extensions > Reporter: Nicola Scendoni > Assignee: Nicola Scendoni > Priority: Minor > Fix For: OAuth Client 0.1.2 > > > {*}Description:{*}{*}{*} > Apache Sling currently provides an *OAuth 2 client*, but it is *not an > authentication handler*. This means that while applications can use OAuth 2 > for authorization, there is no built-in mechanism to handle user > authentication via OpenID Connect (OIDC). Given the widespread adoption of > OIDC for authentication, adding support for an *OIDC Authentication Handler* > would greatly enhance Sling’s authentication capabilities. > > {*}Feature Request:{*}{*}{*} > Develop a pluggable *OIDC Authentication Handler* that enables authentication > via OpenID Connect providers (e.g., Google, Azure AD, Keycloak, Okta). > -- This message was sent by Atlassian Jira (v8.20.10#820010)