)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"2b1d6da6b33efb07c5735021184d21ba0bb1bea9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zlyqqq \u003chfzhengliuyang@163.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-06-09 11:48:40 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add annotation about token authenticate"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: If7740f89ea7d38500f96f2ee5eb977d46dbe2584"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7f231b9d_f9add3ea","line":7,"updated":"2017-06-09 15:39:32.000000000","message":"This should describe the change and what it is improving. This helps others review the change and understand why it is needed. Otherwise they need to piece together the reason for the patch based on their interpretation of the committers code.\n\nFor some useful commit message tips feel free to check out https://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"8d897bb89230aa0b027e1ab092ade6c018770403"}],"keystone/auth/plugins/token.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"2b1d6da6b33efb07c5735021184d21ba0bb1bea9","unresolved":false,"context_lines":[{"line_number":103,"context_line":"            token_audit_id \u003d None"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        # The new token expires at the time which is equal to"},{"line_number":106,"context_line":"        # expiration time of the old token in the request, instead"},{"line_number":107,"context_line":"        # of varing based on current time."},{"line_number":108,"context_line":"        response_data.setdefault(\u0027expires_at\u0027, token_ref.expires)"},{"line_number":109,"context_line":"        response_data[\u0027audit_id\u0027] \u003d token_audit_id"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f231b9d_561ed470","line":106,"updated":"2017-06-09 15:39:32.000000000","message":"s/old/original/\n\nThis comment is pretty clear to see by the logic of the code. We could take the opportunity to include *why* the logic is that way it is. For example:\n\n  # To prevent users from never having to re-authenticate, the original token\n  # expiration time is maintained in the new token. Not doing this would make it\n  # possible for a user continuously bump token expiration through token rescoping\n  # without proving their identity.","commit_id":"8d897bb89230aa0b027e1ab092ade6c018770403"},{"author":{"_account_id":25640,"name":"rocky","email":"rocky0722@163.com","username":"xuhaigang"},"change_message_id":"4ca750b3534898583129842bc387287ea1050c9e","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        # To prevent users from never having to re-authenticate, the original"},{"line_number":106,"context_line":"        # token expiration time is maintained in the new token. Not doing this"},{"line_number":107,"context_line":"        # would make it possible for a user continuously bump token expiration"},{"line_number":108,"context_line":"        # through token rescoping without proving their identity."},{"line_number":109,"context_line":"        response_data.setdefault(\u0027expires_at\u0027, token_ref.expires)"},{"line_number":110,"context_line":"        response_data[\u0027audit_id\u0027] \u003d token_audit_id"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_df365eb5","line":107,"range":{"start_line":107,"start_character":43,"end_line":107,"end_character":44},"updated":"2017-06-12 02:26:51.000000000","message":"Maybe here needs a \u0027to\u0027. :)","commit_id":"aba567e2decbfed78b3ee8c6e94112a213a30106"}]}
