[
https://issues.apache.org/jira/browse/SOLR-16171?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jan Høydahl updated SOLR-16171:
-------------------------------
Description:
Now, the config parameters "principalClaim" and "rolesClaim" are condfigured
globally per JWT plugin in security.json. But each JWT instance supports
validating access tokens from multiple IDPs (issuers), and two different
issuers may use different JWT claims for e.g. the user role, so these should
optionally be configurable per issuer.
Furthermore, an issuer may not have any claims suitable for mapping to a Solr
"role". Thus there should be a per-issuer configuration that can translate/map
roles from a certain issuer to solr-supported roles, and even add static roles
that every valid token from that IDP should be granted.
Suggestion:
{code:java}
staticRoles: ["foo", "bar"]
roleMapping: [{"from":"foo", "to":"bar"},
{"from":"prefix-(\w+)","to":"$1"}]{code}
The 'staticRoles' would be added to existing roles, while roleMapping would
provide a tool to massage roles from claim/scope into some role defined in
security.json. By providing a regex matching, this would solve most needs.
was:Now, the config parameters "principalClaim" and "rolesClaim" are
condfigured globally per JWT plugin in security.json. But each JWT instance
supports validating access tokens from multiple IDPs (issuers), and two
different issuers may use different JWT claims for e.g. the user role, so these
should optionally be configurable per issuer.
> JWT plugin support more config per issuer
> -----------------------------------------
>
> Key: SOLR-16171
> URL: https://issues.apache.org/jira/browse/SOLR-16171
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Components: Authentication
> Reporter: Jan Høydahl
> Assignee: Jan Høydahl
> Priority: Major
>
> Now, the config parameters "principalClaim" and "rolesClaim" are condfigured
> globally per JWT plugin in security.json. But each JWT instance supports
> validating access tokens from multiple IDPs (issuers), and two different
> issuers may use different JWT claims for e.g. the user role, so these should
> optionally be configurable per issuer.
> Furthermore, an issuer may not have any claims suitable for mapping to a Solr
> "role". Thus there should be a per-issuer configuration that can
> translate/map roles from a certain issuer to solr-supported roles, and even
> add static roles that every valid token from that IDP should be granted.
> Suggestion:
> {code:java}
> staticRoles: ["foo", "bar"]
> roleMapping: [{"from":"foo", "to":"bar"},
> {"from":"prefix-(\w+)","to":"$1"}]{code}
> The 'staticRoles' would be added to existing roles, while roleMapping would
> provide a tool to massage roles from claim/scope into some role defined in
> security.json. By providing a regex matching, this would solve most needs.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]