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

Noble Paul commented on SOLR-12121:
-----------------------------------

It should be possible

 
 # Implement your own AuthenticationPlugin that implements 
HttpClientBuilderPlugin
 # When your plugin is initialized , it can accept CoreContainer as a 
constructor arg
 # Use CoreContainer.getPkiAuthenticationPlugin() to get hold of the default 
PKI instance. Keep in mind that it is initialized anyway but it doesn't 
register an interceptor yet
 # Your plugin should get a callback for every internode requests made if you 
register the interceptor in the {{getHttpClientBuilder(SolrHttpClientBuilder 
builder)}} method
 # check the request if it contains your authentication headers. if not, it is 
a solr initiated request.
** If your authentication is present, just set your own headers , else
 ** Invoke PKIAuthenticationPlugin.setHeader() . (Please note that it is a 
package private method, so you will need to have your class in the same package)

> JWT Authentication plugin
> -------------------------
>
>                 Key: SOLR-12121
>                 URL: https://issues.apache.org/jira/browse/SOLR-12121
>             Project: Solr
>          Issue Type: New Feature
>      Security Level: Public(Default Security Level. Issues are Public) 
>          Components: Authentication
>            Reporter: Jan Høydahl
>            Assignee: Jan Høydahl
>            Priority: Major
>             Fix For: master (8.0), 7.5
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> A new Authentication plugin that will accept a [Json Web 
> Token|https://en.wikipedia.org/wiki/JSON_Web_Token] (JWT) in the 
> Authorization header and validate it by checking the cryptographic signature. 
> The plugin will not perform the authentication itself but assert that the 
> user was authenticated by the service that issued the JWT token.
> JWT defined a number of standard claims, and user principal can be fetched 
> from the {{sub}} (subject) claim and passed on to Solr. The plugin will 
> always check the {{exp}} (expiry) claim and optionally enforce checks on the 
> {{iss}} (issuer) and {{aud}} (audience) claims.
> The first version of the plugin will only support RSA signing keys and will 
> support fetching the public key of the issuer through a [Json Web 
> Key|https://tools.ietf.org/html/rfc7517] (JWK) file, either from a https URL 
> or from local file.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to