)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1916,"name":"Guang Yee","email":"gyee@suse.com","username":"guang-yee"},"change_message_id":"d64cb15c404ad7e2817d2c2cea5befc351b1f652","unresolved":false,"context_lines":[{"line_number":11,"context_line":"where the user doesn\u0027t have a domain. The user may not have a domain"},{"line_number":12,"context_line":"in the case of a token granted via federation. So the"},{"line_number":13,"context_line":"user_domain_name and user_domain_id cannot be used safely if it\u0027s"},{"line_number":14,"context_line":"possible for the token to come from federation."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"A new property user_has_domain is added that can be checked before"},{"line_number":17,"context_line":"using user_domain_name or user_domain_id so that these properties"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa1b9901_949ce36a","line":14,"updated":"2015-08-17 21:59:57.000000000","message":"Not sure if this is correct. Federated ephemeral users will be placed into the \u0027Federated\u0027 domain by default.\n\nhttps://github.com/openstack/keystone/blob/master/etc/keystone.conf.sample#L750\n\nIf this domain is not conveyed via token data, we need to do so.","commit_id":"cf35453aa0fac63433f4c678ae93ee0aab643a04"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"6fde9fa02a8782a424a2916d2e4b6da5b340f623","unresolved":false,"context_lines":[{"line_number":13,"context_line":"With this change, the domain info for the user is part of the"},{"line_number":14,"context_line":"token data."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Partial-Bug: 1485604"},{"line_number":17,"context_line":"Change-Id: I01e322e6f3567f42d08e2db952be4d58ee43b4b5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"fa1b9901_7edc7746","line":16,"updated":"2015-08-24 07:59:02.000000000","message":"wrong bug reference? \n(Points me to a bug entitled \"Logs must contain the request ID\")","commit_id":"9f25a792636977ba67322ac0aefc531e1548dede"}],"keystone/token/providers/fernet/core.py":[{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"31acc3577a99fd1f2ef3552a9b53144d30c837e4","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        }"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        user_domain_id \u003d federated_dict[\u0027user_domain_id\u0027]"},{"line_number":174,"context_line":"        user_domain_name \u003d federated_dict[\u0027user_domain_name\u0027]"},{"line_number":175,"context_line":"        token_dict \u003d {"},{"line_number":176,"context_line":"            \u0027user\u0027: {"},{"line_number":177,"context_line":"                federation_constants.FEDERATION: federated_info,"}],"source_content_type":"text/x-python","patch_set":9,"id":"da20952f_162fff88","line":174,"updated":"2015-09-04 09:50:40.000000000","message":"you could set this to CONF.federation.federated_domain_name as for ephemeral users this cannot have different value as of today.","commit_id":"3414eaeb60eb6fde6c861c4335e9289a5dce0a65"},{"author":{"_account_id":6486,"name":"Brant Knudson","email":"blk@acm.org","username":"blk-u"},"change_message_id":"845cc4752e94b7b43d1e6c17cf9af05cc3714c1d","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        }"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"        user_domain_id \u003d federated_dict[\u0027user_domain_id\u0027]"},{"line_number":174,"context_line":"        user_domain_name \u003d federated_dict[\u0027user_domain_name\u0027]"},{"line_number":175,"context_line":"        token_dict \u003d {"},{"line_number":176,"context_line":"            \u0027user\u0027: {"},{"line_number":177,"context_line":"                federation_constants.FEDERATION: federated_info,"}],"source_content_type":"text/x-python","patch_set":9,"id":"da20952f_f165a744","line":174,"in_reply_to":"da20952f_162fff88","updated":"2015-09-04 16:11:08.000000000","message":"what about for non-ephemeral users?","commit_id":"3414eaeb60eb6fde6c861c4335e9289a5dce0a65"}],"keystone/token/providers/fernet/token_formatters.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c3a8c70aa36a1d1ce0b4b59e6dbaeb281fe03a1a","unresolved":false,"context_lines":[{"line_number":562,"context_line":"        expires_at_int \u003d cls._convert_time_string_to_int(expires_at)"},{"line_number":563,"context_line":"        b_audit_ids \u003d list(map(provider.random_urlsafe_str_to_bytes,"},{"line_number":564,"context_line":"                               audit_ids))"},{"line_number":565,"context_line":"        user_domain_id \u003d federated_info[\u0027user_domain_id\u0027]"},{"line_number":566,"context_line":"        user_domain_name \u003d federated_info[\u0027user_domain_name\u0027]"},{"line_number":567,"context_line":"        return (b_user_id, methods, b_group_ids, b_idp_id, protocol_id,"},{"line_number":568,"context_line":"                expires_at_int, b_audit_ids, user_domain_id, user_domain_name)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_45dcb272","line":565,"updated":"2015-08-31 13:45:38.000000000","message":"We should attempt to convert these to bytes incase they are uuid like IDs, it will save us space in the token.","commit_id":"167501a161cac004c26696c90fa38c9980346770"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c3a8c70aa36a1d1ce0b4b59e6dbaeb281fe03a1a","unresolved":false,"context_lines":[{"line_number":586,"context_line":"        protocol_id \u003d payload[4]"},{"line_number":587,"context_line":"        expires_at_str \u003d cls._convert_int_to_time_string(payload[5])"},{"line_number":588,"context_line":"        audit_ids \u003d list(map(provider.base64_encode, payload[6]))"},{"line_number":589,"context_line":"        user_domain_id \u003d payload[7]"},{"line_number":590,"context_line":"        user_domain_name \u003d payload[8]"},{"line_number":591,"context_line":"        federated_info \u003d dict("},{"line_number":592,"context_line":"            group_ids\u003dgroup_ids, idp_id\u003didp_id, protocol_id\u003dprotocol_id,"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_85cc0abc","line":589,"updated":"2015-08-31 13:45:38.000000000","message":"We should attempt to convert these back to hex from bytes.","commit_id":"167501a161cac004c26696c90fa38c9980346770"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c3a8c70aa36a1d1ce0b4b59e6dbaeb281fe03a1a","unresolved":false,"context_lines":[{"line_number":623,"context_line":"        expires_at_int \u003d cls._convert_time_string_to_int(expires_at)"},{"line_number":624,"context_line":"        b_audit_ids \u003d list(map(provider.random_urlsafe_str_to_bytes,"},{"line_number":625,"context_line":"                               audit_ids))"},{"line_number":626,"context_line":"        user_domain_id \u003d federated_info[\u0027user_domain_id\u0027]"},{"line_number":627,"context_line":"        user_domain_name \u003d federated_info[\u0027user_domain_name\u0027]"},{"line_number":628,"context_line":""},{"line_number":629,"context_line":"        return (b_user_id, methods, b_scope_id, b_group_ids, b_idp_id,"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_05b9da14","line":626,"updated":"2015-08-31 13:45:38.000000000","message":"same comment here.","commit_id":"167501a161cac004c26696c90fa38c9980346770"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"c3a8c70aa36a1d1ce0b4b59e6dbaeb281fe03a1a","unresolved":false,"context_lines":[{"line_number":650,"context_line":"        protocol_id \u003d payload[5]"},{"line_number":651,"context_line":"        expires_at_str \u003d cls._convert_int_to_time_string(payload[6])"},{"line_number":652,"context_line":"        audit_ids \u003d list(map(provider.base64_encode, payload[7]))"},{"line_number":653,"context_line":"        user_domain_id \u003d payload[8]"},{"line_number":654,"context_line":"        user_domain_name \u003d payload[9]"},{"line_number":655,"context_line":"        federated_info \u003d dict("},{"line_number":656,"context_line":"            idp_id\u003didp_id, protocol_id\u003dprotocol_id, group_ids\u003dgroup_ids,"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_c53d2290","line":653,"updated":"2015-08-31 13:45:38.000000000","message":"and here.","commit_id":"167501a161cac004c26696c90fa38c9980346770"}]}
