Comments (3)
Thoughts on this:
- It looks like this resource could be shared between clients and client-scopes. Meaning, you could add a protocol mapper to a client so only that client uses this mapper, or you could add it to a scope so that any client using that scope will have this mapper. This means that the resource would need to use attributes such as
client_id
orclient_scope_id
in order to tie it to one or the other. It would probably be required to set one and only one of these attributes. - There are some protocol mappers that can be used for both openid and saml clients/client-scopes (such as User Attribute), but the APIs are so drastically different between the two that it would probably make sense to split them out according to the protocol. This would mean that the protocol would be part of the name of the resource as opposed to an attribute on the resource.
With this in mind, perhaps the resource may look something like this?
resource "keycloak_openid_hardcoded_claim_protocol_mapper" "my-foo-claim" {
client_id = "${keycloak_client.test-client.id}"
name = "foo-claim"
claim_name = "foo"
claim_string_value = "bar" // mutually exclusive long_value, int_value, bool_value fields
add_to_access_token = true
add_to_id_token = false
}
from terraform-provider-keycloak.
- Not that familiar with client scopes, but allowing for client and client scopes to share the resource seems like a good idea.
- If the APIs are that different between openid connect and saml, then I agree that it makes sense to split them out. I don't imagine there's a use case for changing one protocol to the other.
The config you posted looks good to me. I forgot to prefix the resource with keycloak
and tie the resource to an actual client in my example.
from terraform-provider-keycloak.
I'm going to take a shot at implementing this.
from terraform-provider-keycloak.
Related Issues (20)
- `keycloak_openid_audience_protocol_mapper`: Unpaginated request to `/admin/realms/${realm}/clients`
- The private_key schema element of the keycloak_realm_keystore_rsa resource must be sensitive HOT 1
- The health of this repo, an open discussion. HOT 20
- keycloak_openid_client.authorization decision_strategy field doesn't work HOT 2
- no admin_events_expiration
- support `display_on_consent_screen` in `keycloak_openid_client_scope` HOT 1
- Unstable state for keycloak_user attributes (null field)
- OpenTofu registry is missing GPG keys for this provider
- Unable to set federationLink on keycloak_user
- Authentication Flow / Subflow / Executions priorities HOT 1
- Support for configuring external token exchange HOT 1
- Support for Keycloak Organization (amazing) feature
- [Feature] Add an upsert flag on the client
- Client Fine Grained permissions 'extra_config' only sometimes works. KC 24.0.5
- import support for subgroups HOT 1
- CVE-2024-6104 - GHSA-v6v8-xj6m-xwqh
- Getting errors when running tests
- Ability to create protocol mapper other than hardcoded HOT 1
- Ability to set bruteForceProtected on realm explicitly
- keycloak_openid_client_js_policy does not support policies uploaded via JAR files.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from terraform-provider-keycloak.