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

Nick Shanin commented on SOLR-17845:
------------------------------------

[~malliaridis] A status note on this ticket, checked against {{main}} at 
{{0d6b2e32f5}} today. The OAuth support landed in [PR 
#3754|https://github.com/apache/solr/pull/3754] in February, and the ticket 
still shows Patch Available with no fix version, which no longer describes it.

Of the acceptance list, two items are still open, read from the code:

 * Token refresh. {{HttpClientUtils.kt}} lines 107 to 108 still read 
{{refreshTokens { TODO("Not implemented yet") }}}. You noted when the PR merged 
that refresh should be addressed under this issue. From the code, an expired 
access token leads Ktor to call that block, so it would throw 
{{NotImplementedError}}; I have not reproduced this against a running Solr.
 * ID token identity. {{AuthorizationResponse.kt}} lines 35 to 36 parse 
{{id_token}}, and nothing else in the UI tree reads it, so an OAuth session 
still carries no user identity.

Do you want both items to stay under this ticket until they land, or should the 
ticket be resolved on the merged work, with refresh and identity split out as 
their own tickets?

🤖 _AI text above_ 🤖 _(reviewed by Nick Shanin)_

> Implement authentication with OAuth in Admin UI
> -----------------------------------------------
>
>                 Key: SOLR-17845
>                 URL: https://issues.apache.org/jira/browse/SOLR-17845
>             Project: Solr
>          Issue Type: Sub-task
>          Components: Admin UI
>            Reporter: Christos Malliaridis
>            Assignee: Christos Malliaridis
>            Priority: Major
>              Labels: advanced, new-ui, pull-request-available, ui
>          Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> With SOLR-17659 we have introduced basic authentication. Since Solr supports 
> other authentication options, we should start adding those too.
> h2. Task
> Add support for authenticating with OAuth 2.0 / OIDC.
> h2. Acceptance Criteria
> - Client ID can be configured
> - Authorization Code Flow with PKCE is supported
> - Redirects to the browser and back work as expected
> - Tokens are refreshed when refresh_tokens are issued
> - ID tokens are used for identifying the user (user identity)
> h2. Additional Information
> Typical OAuth flows require a redirect to the browser. If you are not 
> familiar with the OAuth flows, it is strongly recommended to learn those 
> first. A good resource for that is https://oauth.net/2/
> The [documentation of Ktor|https://ktor.io/docs/client-bearer-auth.html] 
> shows how the flow should be implemented. 
> You should be aware that the desktop client, as well as the wasmJS (web) 
> client, will both have to retrieve and use the client ID, which will probably 
> not be hardcoded in the source code. The client ID is usually generated by 
> the OAuth server.
> Additionally, for the navigation to the browser and back you will have to use 
> [deep 
> links|https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-navigation-deep-links.html].



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to