Hi Justin!
I've attached a repro-project that demonstrates the issues I'm having. It's a console-application that prints various assertions to the console. They should all succeed.
- I'm using an Internal Directory.
- I only use the SOAP-API.
- I don't use LDAP.
- The "Allow All To Authenticate" flag is set to true for the directory associated with my test application.
I have two cases (new and existing user) and am also showing the authentication issue I mentioned in the forum (http://forums.atlassian.com/thread.jspa?threadID=36052&tstart=0)
New User:
- I create a new user (including a custom attribute) using the SOAP API (addPrincipal).
- I add a second custom attribute (updatePrincipalAttribute).
- I get the user (findPrincipalByName).
-> Only the primary attributes are returned.
-> In the web-interface I can only see the attribute that was added after the user was created
- I use the password specified during creation to attempt a login (authenticatePrincipal).
-> The login is fails. If I update the password in the web-interface, the login with the new password succeeds.
Existing User:
- I have an existing user (created using Crowd's web-interface).
- I update an existing custom attribute (updatePrincipalAttribute).
-> Only the primary attributes are returned.
-> In the web-interface I can see that the update on the custom attribute was # I use the password specified in the web-interface to attempt a login (authenticatePrincipal).
successful.
-> The login is successful.
You mentioned
I know I can add and modify both primary and custom attributes for a user, the only limitation currently is returning custom attributes in our SecurityServer API is currently not available.
This worked in Crowd 1.6 and is a required feature for the application I'm building. Was this changed in Crowd 2.0?
Thanks for the quick response,
Michael
We will be fixing this issue as part of the linked issue
CWD-1672in 2.0.2.