{"action":"created","issue":{"url":"https://api.github.com/repos/Jasig/cas/issues/1339","labels_url":"https://api.github.com/repos/Jasig/cas/issues/1339/labels{/name}","comments_url":"https://api.github.com/repos/Jasig/cas/issues/1339/comments","events_url":"https://api.github.com/repos/Jasig/cas/issues/1339/events","html_url":"https://github.com/Jasig/cas/issues/1339","id":121276831,"number":1339,"title":"Anonymous Username Attribute Provider in Services Management tool doesn't correctly persist/restore salt","user":{"login":"frett","id":47818,"avatar_url":"https://avatars.githubusercontent.com/u/47818?v=3","gravatar_id":"","url":"https://api.github.com/users/frett","html_url":"https://github.com/frett","followers_url":"https://api.github.com/users/frett/followers","following_url":"https://api.github.com/users/frett/following{/other_user}","gists_url":"https://api.github.com/users/frett/gists{/gist_id}","starred_url":"https://api.github.com/users/frett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frett/subscriptions","organizations_url":"https://api.github.com/users/frett/orgs","repos_url":"https://api.github.com/users/frett/repos","events_url":"https://api.github.com/users/frett/events{/privacy}","received_events_url":"https://api.github.com/users/frett/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-12-09T15:55:00Z","updated_at":"2015-12-09T18:58:14Z","closed_at":null,"body":"When configuring the Anonymous Username Attribute Provider, the salt setting is not being correctly persisted/restored. Every time a user saves the form the salt value is rotated, this will lead to changing usernames for configured services utilizing this provider.\r\n\r\nI stumbled across this bug in 4.2 while testing my current extensible Services Management UI work. I haven't checked to see if the problem exists in 4.1, but would assume it does."},"comment":{"url":"https://api.github.com/repos/Jasig/cas/issues/comments/163357466","html_url":"https://github.com/Jasig/cas/issues/1339#issuecomment-163357466","issue_url":"https://api.github.com/repos/Jasig/cas/issues/1339","id":163357466,"user":{"login":"frett","id":47818,"avatar_url":"https://avatars.githubusercontent.com/u/47818?v=3","gravatar_id":"","url":"https://api.github.com/users/frett","html_url":"https://github.com/frett","followers_url":"https://api.github.com/users/frett/followers","following_url":"https://api.github.com/users/frett/following{/other_user}","gists_url":"https://api.github.com/users/frett/gists{/gist_id}","starred_url":"https://api.github.com/users/frett/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/frett/subscriptions","organizations_url":"https://api.github.com/users/frett/orgs","repos_url":"https://api.github.com/users/frett/repos","events_url":"https://api.github.com/users/frett/events{/privacy}","received_events_url":"https://api.github.com/users/frett/received_events","type":"User","site_admin":false},"created_at":"2015-12-09T18:58:14Z","updated_at":"2015-12-09T18:58:14Z","body":"What I think is happening is that Jackson is serializing the salt as a `byte[]`, which is Base64 encoded. it's doing this because there is a `getSalt` method that returns a `byte[]`. \r\n\r\nWhen it is deserializing the salt it is deserializing it as a `String` because it has to directly write to the `salt` field. Deserializing a String doesn't trigger Base64 decoding."}}