)]}'
{"keystone/common/authorization.py":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"67a1ad15a848587e58707b55ef409faa85c464f4","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"CONF \u003d conf.CONF"},{"line_number":38,"context_line":"AUTH_CONTEXT_ENV \u003d \u0027KEYSTONE_AUTH_CONTEXT\u0027"},{"line_number":39,"context_line":"\"\"\"Environment variable used to convey the Keystone auth context."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Auth context is essentially the user credential used for policy enforcement."},{"line_number":42,"context_line":"It is a dictionary with the following attributes:"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* ``token``: Token from the request"},{"line_number":45,"context_line":"* ``user_id``: user ID of the principal"}],"source_content_type":"text/x-python","patch_set":1,"id":"df87a7cf_0c06adcf","side":"PARENT","line":42,"range":{"start_line":39,"start_character":0,"end_line":42,"end_character":49},"updated":"2017-12-06 15:44:51.000000000","message":"This comment may need updating but it applies to the AUTH_CONTEXT_ENV constant which is still used, so I don\u0027t think it should be removed entirely.","commit_id":"b5faf63511b188c19548ca01e6d87d0d2047ece3"},{"author":{"_account_id":13063,"name":"WEI CHEN","email":"dave.jungler@gmail.com","username":"wei.d.chen"},"change_message_id":"1f8b90c754cd02ca13a12a67ca52034482f59fac","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Auth context is essentially the user credential used for policy enforcement."},{"line_number":42,"context_line":"It is a dictionary with the following attributes:"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* ``token``: Token from the request"},{"line_number":45,"context_line":"* ``user_id``: user ID of the principal"},{"line_number":46,"context_line":"* ``user_name``: user name of the principal"},{"line_number":47,"context_line":"* ``user_domain_id`` (optional): Domain ID of the principal if the principal"},{"line_number":48,"context_line":"                                 has a domain."},{"line_number":49,"context_line":"* ``user_domain_name`` (optional): Domain name of the principal if the"},{"line_number":50,"context_line":"                                   principal has a domain."},{"line_number":51,"context_line":"* ``project_id`` (optional): project ID of the scoped project if auth is"},{"line_number":52,"context_line":"                             project-scoped"},{"line_number":53,"context_line":"* ``project_name`` (optional): project name of the scoped project if auth is"},{"line_number":54,"context_line":"                               project-scoped"},{"line_number":55,"context_line":"* ``project_domain_id`` (optional): Domain ID of the scoped project if auth is"},{"line_number":56,"context_line":"                                    project-scoped."},{"line_number":57,"context_line":"* ``project_domain_name`` (optional): Domain name of the scoped project if auth"},{"line_number":58,"context_line":"                                      is project-scoped."},{"line_number":59,"context_line":"* ``domain_id`` (optional): domain ID of the scoped domain if auth is"},{"line_number":60,"context_line":"                            domain-scoped"},{"line_number":61,"context_line":"* ``domain_name`` (optional): domain name of the scoped domain if auth is"},{"line_number":62,"context_line":"                              domain-scoped"},{"line_number":63,"context_line":"* ``is_delegated_auth``: True if this is delegated (via trust or oauth)"},{"line_number":64,"context_line":"* ``trust_id``: Trust ID if trust-scoped, or None"},{"line_number":65,"context_line":"* ``trustor_id``: Trustor ID if trust-scoped, or None"},{"line_number":66,"context_line":"* ``trustee_id``: Trustee ID if trust-scoped, or None"},{"line_number":67,"context_line":"* ``consumer_id``: OAuth consumer ID, or None"},{"line_number":68,"context_line":"* ``access_token_id``: OAuth access token ID, or None"},{"line_number":69,"context_line":"* ``roles`` (optional): list of role names for the given scope"},{"line_number":70,"context_line":"* ``group_ids`` (optional): list of group IDs for which the API user has"},{"line_number":71,"context_line":"                            membership if token was for a federated user"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"\"\"\""},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_e565c91e","side":"PARENT","line":71,"range":{"start_line":44,"start_character":0,"end_line":71,"end_character":72},"updated":"2017-12-15 04:43:21.000000000","message":"Any reason to remove those comments? I\u0027d like to keep this.","commit_id":"cfbc2aa30b7406b4bc77e40a55561d1f46174b5c"},{"author":{"_account_id":2218,"name":"Adam Young","email":"adam@younglogic.com","username":"ayoung"},"change_message_id":"b3911f3b32eb9fc8e4e978c107430c7cfb586da2","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Auth context is essentially the user credential used for policy enforcement."},{"line_number":42,"context_line":"It is a dictionary with the following attributes:"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"* ``token``: Token from the request"},{"line_number":45,"context_line":"* ``user_id``: user ID of the principal"},{"line_number":46,"context_line":"* ``user_name``: user name of the principal"},{"line_number":47,"context_line":"* ``user_domain_id`` (optional): Domain ID of the principal if the principal"},{"line_number":48,"context_line":"                                 has a domain."},{"line_number":49,"context_line":"* ``user_domain_name`` (optional): Domain name of the principal if the"},{"line_number":50,"context_line":"                                   principal has a domain."},{"line_number":51,"context_line":"* ``project_id`` (optional): project ID of the scoped project if auth is"},{"line_number":52,"context_line":"                             project-scoped"},{"line_number":53,"context_line":"* ``project_name`` (optional): project name of the scoped project if auth is"},{"line_number":54,"context_line":"                               project-scoped"},{"line_number":55,"context_line":"* ``project_domain_id`` (optional): Domain ID of the scoped project if auth is"},{"line_number":56,"context_line":"                                    project-scoped."},{"line_number":57,"context_line":"* ``project_domain_name`` (optional): Domain name of the scoped project if auth"},{"line_number":58,"context_line":"                                      is project-scoped."},{"line_number":59,"context_line":"* ``domain_id`` (optional): domain ID of the scoped domain if auth is"},{"line_number":60,"context_line":"                            domain-scoped"},{"line_number":61,"context_line":"* ``domain_name`` (optional): domain name of the scoped domain if auth is"},{"line_number":62,"context_line":"                              domain-scoped"},{"line_number":63,"context_line":"* ``is_delegated_auth``: True if this is delegated (via trust or oauth)"},{"line_number":64,"context_line":"* ``trust_id``: Trust ID if trust-scoped, or None"},{"line_number":65,"context_line":"* ``trustor_id``: Trustor ID if trust-scoped, or None"},{"line_number":66,"context_line":"* ``trustee_id``: Trustee ID if trust-scoped, or None"},{"line_number":67,"context_line":"* ``consumer_id``: OAuth consumer ID, or None"},{"line_number":68,"context_line":"* ``access_token_id``: OAuth access token ID, or None"},{"line_number":69,"context_line":"* ``roles`` (optional): list of role names for the given scope"},{"line_number":70,"context_line":"* ``group_ids`` (optional): list of group IDs for which the API user has"},{"line_number":71,"context_line":"                            membership if token was for a federated user"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"\"\"\""},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_3bddfb13","side":"PARENT","line":71,"range":{"start_line":44,"start_character":0,"end_line":71,"end_character":72},"in_reply_to":"df87a7cf_e565c91e","updated":"2017-12-16 02:31:58.000000000","message":"I\u0027d rather not.  They were already starting to drift from what context manages, and having a bad copy in code is worse than not having any copy. This list belongs to Oslo Context, not Keystone.","commit_id":"cfbc2aa30b7406b4bc77e40a55561d1f46174b5c"}]}
