)]}'
{"keystone/frontends/d5_compat.py":[{"author":{"_account_id":1475,"name":"Joe Breu","email":"breu@breu.org","username":"breu"},"change_message_id":"6b0d2ac8bc5366dc9da83a8866fb4b904dfe51a6","unresolved":false,"context_lines":[{"line_number":318,"context_line":"            auth[key] \u003d copy.copy(value)"},{"line_number":319,"context_line":"        if \"user\" in auth:"},{"line_number":320,"context_line":"            user \u003d auth[\"user\"]"},{"line_number":321,"context_line":"            user[\"username\"] \u003d user[\"name\"]"},{"line_number":322,"context_line":"            del user[\"name\"]"},{"line_number":323,"context_line":"            del user[\"id\"]"},{"line_number":324,"context_line":"            if \"roles\" in auth[\"user\"]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F9SU%3D","line":321,"updated":"2011-12-13 18:38:25.000000000","message":"the user attribute \u0027name\u0027 does not exist in this json object and prevents authentication of tokens.","commit_id":"b83a314b4b4eef39510240441704ea13f655ea9b"},{"author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"change_message_id":"f45fb8931f51ffe64fbc53feffaf9674a9958c9e","unresolved":false,"context_lines":[{"line_number":318,"context_line":"            auth[key] \u003d copy.copy(value)"},{"line_number":319,"context_line":"        if \"user\" in auth:"},{"line_number":320,"context_line":"            user \u003d auth[\"user\"]"},{"line_number":321,"context_line":"            user[\"username\"] \u003d user[\"name\"]"},{"line_number":322,"context_line":"            del user[\"name\"]"},{"line_number":323,"context_line":"            del user[\"id\"]"},{"line_number":324,"context_line":"            if \"roles\" in auth[\"user\"]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F9BQ%3D","line":321,"in_reply_to":"AAAAC3%2F%2F9SU%3D","updated":"2011-12-14 13:25:53.000000000","message":"user {name, id} is what gets returned by Diablo. This middleware converts that into D5-compatible syntax where D5 expects only a username attribute. Not sure where you are getting this error. Are you running a Diablo (not D5) backend? This is expecting to be in front of a Diablo instance of Keystone...","commit_id":"b83a314b4b4eef39510240441704ea13f655ea9b"},{"author":{"_account_id":1475,"name":"Joe Breu","email":"breu@breu.org","username":"breu"},"change_message_id":"6b0d2ac8bc5366dc9da83a8866fb4b904dfe51a6","unresolved":false,"context_lines":[{"line_number":319,"context_line":"        if \"user\" in auth:"},{"line_number":320,"context_line":"            user \u003d auth[\"user\"]"},{"line_number":321,"context_line":"            user[\"username\"] \u003d user[\"name\"]"},{"line_number":322,"context_line":"            del user[\"name\"]"},{"line_number":323,"context_line":"            del user[\"id\"]"},{"line_number":324,"context_line":"            if \"roles\" in auth[\"user\"]:"},{"line_number":325,"context_line":"                auth[\"user\"][\"roleRefs\"] \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F9SQ%3D","line":322,"updated":"2011-12-13 18:38:25.000000000","message":"This is not needed anymore - remove","commit_id":"b83a314b4b4eef39510240441704ea13f655ea9b"},{"author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"change_message_id":"f45fb8931f51ffe64fbc53feffaf9674a9958c9e","unresolved":false,"context_lines":[{"line_number":319,"context_line":"        if \"user\" in auth:"},{"line_number":320,"context_line":"            user \u003d auth[\"user\"]"},{"line_number":321,"context_line":"            user[\"username\"] \u003d user[\"name\"]"},{"line_number":322,"context_line":"            del user[\"name\"]"},{"line_number":323,"context_line":"            del user[\"id\"]"},{"line_number":324,"context_line":"            if \"roles\" in auth[\"user\"]:"},{"line_number":325,"context_line":"                auth[\"user\"][\"roleRefs\"] \u003d []"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F9BM%3D","line":322,"in_reply_to":"AAAAC3%2F%2F9SQ%3D","updated":"2011-12-14 13:25:53.000000000","message":"See above","commit_id":"b83a314b4b4eef39510240441704ea13f655ea9b"},{"author":{"_account_id":1475,"name":"Joe Breu","email":"breu@breu.org","username":"breu"},"change_message_id":"1d0c669342ed8b1530804f5b43a8d4c1f12ea5f1","unresolved":false,"context_lines":[{"line_number":364,"context_line":"                        else:"},{"line_number":365,"context_line":"                            request.body \u003d auth_with_credentials.to_json()"},{"line_number":366,"context_line":"                        is_d5_request \u003d True"},{"line_number":367,"context_line":"                    finally:"},{"line_number":368,"context_line":"                        pass"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"                    if is_d5_request:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F9eQ%3D","line":367,"updated":"2011-12-13 00:44:18.000000000","message":"This needs to catch the exception so it doesn\u0027t pass up the execution stack and fail auth requests.  Set it to \u0027except\u0027 instead of \u0027finally\u0027 and this will work for both d5 and final auth requests.","commit_id":"b83a314b4b4eef39510240441704ea13f655ea9b"},{"author":{"_account_id":5,"name":"Ziad Sawalha","email":"ziad.sawalha@rackspace.com","username":"ziad-sawalha"},"change_message_id":"f45fb8931f51ffe64fbc53feffaf9674a9958c9e","unresolved":false,"context_lines":[{"line_number":364,"context_line":"                        else:"},{"line_number":365,"context_line":"                            request.body \u003d auth_with_credentials.to_json()"},{"line_number":366,"context_line":"                        is_d5_request \u003d True"},{"line_number":367,"context_line":"                    finally:"},{"line_number":368,"context_line":"                        pass"},{"line_number":369,"context_line":""},{"line_number":370,"context_line":"                    if is_d5_request:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAC3%2F%2F9BI%3D","line":367,"in_reply_to":"AAAAC3%2F%2F9eQ%3D","updated":"2011-12-14 13:25:53.000000000","message":"Done","commit_id":"b83a314b4b4eef39510240441704ea13f655ea9b"}]}
