File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -204,25 +204,41 @@ Then you can add a link to route `saml_login` in your login page in order to sta
204204Just-in-time user provisioning (optional)
205205-----------------------------------------
206206
207- When user is not found by user provider, you can set a user factory to create a new user mapping SAML attributes.
207+ It's possible to have a new user provisioned based off the received SAML attributes when the user provider cannot find a
208+ user.
208209
209210Edit firewall settings in `security.yml` :
210211
211212` ` ` yml
212- firewalls :
213- enable_authenticator_manager: true
213+ security :
214+ # ...
214215
215- default:
216- saml:
217- username_attribute: uid
218- # User factory service
219- user_factory: my_user_factory
220- # Persist new user. Doctrine is required.
221- persist_user: true
222- logout:
216+ providers:
217+ saml_provider:
218+ # Loads user from user repository
219+ entity:
220+ class: AppBundle\E ntity\U ser
221+ property: username
222+
223+ firewalls:
224+ enable_authenticator_manager: true
225+
226+ default:
227+ provider: saml_provider
228+ saml:
229+ username_attribute: uid
230+ # User factory service
231+ user_factory: my_user_factory
232+ # Persist new user. Doctrine is required.
233+ persist_user: true
234+ logout:
223235 path: saml_logout
224236` ` `
225237
238+ > In order for the user to be persisted, you must use a user provider that throws `UsernameNotFoundException` (e.g.
239+ > `EntityUserProvider` as used in the example above). The `SamlUserProvider` does not throw this exception which will
240+ > cause an empty user to be returned when a matching user cannot be found.
241+
226242Create the user factory service editing `services.yml` :
227243
228244` ` ` yml
You can’t perform that action at this time.
0 commit comments