)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"e304b0f9daa17fd7457b2399f144ca8fef6a8a91","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5a988f70_79472070","updated":"2026-02-17 13:02:25.000000000","message":"recheck","commit_id":"55bedf65d5f5635c8eeb4db220583c769d107568"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"1ddd99e9c61fc0755c1612cf7eea3f6eb29bba80","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d95c5453_2e7a636b","updated":"2026-02-26 17:33:07.000000000","message":"recheck","commit_id":"55bedf65d5f5635c8eeb4db220583c769d107568"}],"doc/source/admin/federation/configure_federation.rst":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"3be8d13c1e76991ba9e06e41c7a3cf74381f65fd","unresolved":true,"context_lines":[{"line_number":507,"context_line":"--------------"},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"Use the CLI to authenticate with an OpenID Connect Identity Provider"},{"line_number":510,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"The ``python-openstackclient`` can be used to authenticate a federated user"},{"line_number":513,"context_line":"with an OpenID Connect Identity Provider to keystone. There are several"}],"source_content_type":"text/x-rst","patch_set":1,"id":"55033c49_c1c4bb0d","line":510,"updated":"2025-12-23 22:42:19.000000000","message":"```suggestion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n```","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"1bd83de33ef675e86449a48a8d3a316ea49306cf","unresolved":false,"context_lines":[{"line_number":507,"context_line":"--------------"},{"line_number":508,"context_line":""},{"line_number":509,"context_line":"Use the CLI to authenticate with an OpenID Connect Identity Provider"},{"line_number":510,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":511,"context_line":""},{"line_number":512,"context_line":"The ``python-openstackclient`` can be used to authenticate a federated user"},{"line_number":513,"context_line":"with an OpenID Connect Identity Provider to keystone. There are several"}],"source_content_type":"text/x-rst","patch_set":1,"id":"49cd96c0_81c674da","line":510,"in_reply_to":"55033c49_c1c4bb0d","updated":"2026-01-20 12:11:53.000000000","message":"Done","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"3be8d13c1e76991ba9e06e41c7a3cf74381f65fd","unresolved":true,"context_lines":[{"line_number":541,"context_line":""},{"line_number":542,"context_line":"   $ curl -s https://keycloak.example.org/auth/realms/myrealm/.well-known/openid-configuration | python3 -m json.tool"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":545,"context_line":"v3oidcpassword - Resource Owner Password Flow"},{"line_number":546,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":547,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"8719e7ac_73ae01c1","line":544,"updated":"2025-12-23 22:42:19.000000000","message":"```suggestion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n```","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"1bd83de33ef675e86449a48a8d3a316ea49306cf","unresolved":false,"context_lines":[{"line_number":541,"context_line":""},{"line_number":542,"context_line":"   $ curl -s https://keycloak.example.org/auth/realms/myrealm/.well-known/openid-configuration | python3 -m json.tool"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":545,"context_line":"v3oidcpassword - Resource Owner Password Flow"},{"line_number":546,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":547,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"c7225a73_d36a8cdb","line":544,"in_reply_to":"8719e7ac_73ae01c1","updated":"2026-01-20 12:11:53.000000000","message":"Done","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"3be8d13c1e76991ba9e06e41c7a3cf74381f65fd","unresolved":true,"context_lines":[{"line_number":543,"context_line":""},{"line_number":544,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":545,"context_line":"v3oidcpassword - Resource Owner Password Flow"},{"line_number":546,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"This flow allows direct authentication with username and password. It is the"},{"line_number":549,"context_line":"simplest flow but requires the client to handle user credentials directly."}],"source_content_type":"text/x-rst","patch_set":1,"id":"b3e10e96_cd655a20","line":546,"updated":"2025-12-23 22:42:19.000000000","message":"```suggestion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n```","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"1bd83de33ef675e86449a48a8d3a316ea49306cf","unresolved":false,"context_lines":[{"line_number":543,"context_line":""},{"line_number":544,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":545,"context_line":"v3oidcpassword - Resource Owner Password Flow"},{"line_number":546,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":547,"context_line":""},{"line_number":548,"context_line":"This flow allows direct authentication with username and password. It is the"},{"line_number":549,"context_line":"simplest flow but requires the client to handle user credentials directly."}],"source_content_type":"text/x-rst","patch_set":1,"id":"0838c3bc_4eaa6a85","line":546,"in_reply_to":"b3e10e96_cd655a20","updated":"2026-01-20 12:11:53.000000000","message":"Done","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"3be8d13c1e76991ba9e06e41c7a3cf74381f65fd","unresolved":true,"context_lines":[{"line_number":570,"context_line":"   export OS_PROJECT_DOMAIN_NAME\u003dDefault"},{"line_number":571,"context_line":"   openstack token issue"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":574,"context_line":"v3oidcclientcredentials - Client Credentials Flow"},{"line_number":575,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":576,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"e0395ad4_3cc139dd","line":573,"updated":"2025-12-23 22:42:19.000000000","message":"```suggestion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n```","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"1bd83de33ef675e86449a48a8d3a316ea49306cf","unresolved":false,"context_lines":[{"line_number":570,"context_line":"   export OS_PROJECT_DOMAIN_NAME\u003dDefault"},{"line_number":571,"context_line":"   openstack token issue"},{"line_number":572,"context_line":""},{"line_number":573,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":574,"context_line":"v3oidcclientcredentials - Client Credentials Flow"},{"line_number":575,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":576,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"35599cd1_e9730a1d","line":573,"in_reply_to":"e0395ad4_3cc139dd","updated":"2026-01-20 12:11:53.000000000","message":"Done","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"3be8d13c1e76991ba9e06e41c7a3cf74381f65fd","unresolved":true,"context_lines":[{"line_number":572,"context_line":""},{"line_number":573,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":574,"context_line":"v3oidcclientcredentials - Client Credentials Flow"},{"line_number":575,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"This flow is used for service-to-service authentication where no user context"},{"line_number":578,"context_line":"is required. The client authenticates using its own credentials (client ID and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9e22cecf_968dfb84","line":575,"updated":"2025-12-23 22:42:19.000000000","message":"```suggestion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n```","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"1bd83de33ef675e86449a48a8d3a316ea49306cf","unresolved":false,"context_lines":[{"line_number":572,"context_line":""},{"line_number":573,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":574,"context_line":"v3oidcclientcredentials - Client Credentials Flow"},{"line_number":575,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":576,"context_line":""},{"line_number":577,"context_line":"This flow is used for service-to-service authentication where no user context"},{"line_number":578,"context_line":"is required. The client authenticates using its own credentials (client ID and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b173627f_9cbccc24","line":575,"in_reply_to":"9e22cecf_968dfb84","updated":"2026-01-20 12:11:53.000000000","message":"Done","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"3be8d13c1e76991ba9e06e41c7a3cf74381f65fd","unresolved":true,"context_lines":[{"line_number":595,"context_line":"   export OS_DISCOVERY_ENDPOINT\u003dhttps://idp.example.org/.well-known/openid-configuration"},{"line_number":596,"context_line":"   openstack token issue"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":599,"context_line":"v3oidcaccesstoken - Access Token Flow"},{"line_number":600,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":601,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"d912ae26_761cbcb5","line":598,"updated":"2025-12-23 22:42:19.000000000","message":"```suggestion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n```","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"1bd83de33ef675e86449a48a8d3a316ea49306cf","unresolved":false,"context_lines":[{"line_number":595,"context_line":"   export OS_DISCOVERY_ENDPOINT\u003dhttps://idp.example.org/.well-known/openid-configuration"},{"line_number":596,"context_line":"   openstack token issue"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":599,"context_line":"v3oidcaccesstoken - Access Token Flow"},{"line_number":600,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":601,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"2b585fd9_e56f06c4","line":598,"in_reply_to":"d912ae26_761cbcb5","updated":"2026-01-20 12:11:53.000000000","message":"Done","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"3be8d13c1e76991ba9e06e41c7a3cf74381f65fd","unresolved":true,"context_lines":[{"line_number":597,"context_line":""},{"line_number":598,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":599,"context_line":"v3oidcaccesstoken - Access Token Flow"},{"line_number":600,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"This flow allows you to use a pre-obtained access token to authenticate."},{"line_number":603,"context_line":"This is useful when you have already obtained an access token through another"}],"source_content_type":"text/x-rst","patch_set":1,"id":"093f9aec_ae5b3e5b","line":600,"updated":"2025-12-23 22:42:19.000000000","message":"```suggestion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n```","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"1bd83de33ef675e86449a48a8d3a316ea49306cf","unresolved":false,"context_lines":[{"line_number":597,"context_line":""},{"line_number":598,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":599,"context_line":"v3oidcaccesstoken - Access Token Flow"},{"line_number":600,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":601,"context_line":""},{"line_number":602,"context_line":"This flow allows you to use a pre-obtained access token to authenticate."},{"line_number":603,"context_line":"This is useful when you have already obtained an access token through another"}],"source_content_type":"text/x-rst","patch_set":1,"id":"d74850ea_63326965","line":600,"in_reply_to":"093f9aec_ae5b3e5b","updated":"2026-01-20 12:11:53.000000000","message":"Done","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"3be8d13c1e76991ba9e06e41c7a3cf74381f65fd","unresolved":true,"context_lines":[{"line_number":629,"context_line":"   export OS_ACCESS_TOKEN\u003d$ACCESS_TOKEN"},{"line_number":630,"context_line":"   openstack token issue"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":633,"context_line":"v3oidcauthcode - Authorization Code Flow"},{"line_number":634,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":635,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"30ae6345_91df123f","line":632,"updated":"2025-12-23 22:42:19.000000000","message":"```suggestion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n```","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"1bd83de33ef675e86449a48a8d3a316ea49306cf","unresolved":false,"context_lines":[{"line_number":629,"context_line":"   export OS_ACCESS_TOKEN\u003d$ACCESS_TOKEN"},{"line_number":630,"context_line":"   openstack token issue"},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":633,"context_line":"v3oidcauthcode - Authorization Code Flow"},{"line_number":634,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":635,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"b31d65b8_2f2391e1","line":632,"in_reply_to":"30ae6345_91df123f","updated":"2026-01-20 12:11:53.000000000","message":"Done","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"3be8d13c1e76991ba9e06e41c7a3cf74381f65fd","unresolved":true,"context_lines":[{"line_number":631,"context_line":""},{"line_number":632,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":633,"context_line":"v3oidcauthcode - Authorization Code Flow"},{"line_number":634,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"This flow is the standard OAuth 2.0 authorization code flow, typically used"},{"line_number":637,"context_line":"in web applications. It requires obtaining an authorization code through a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"2ec97ed1_6be5ed68","line":634,"updated":"2025-12-23 22:42:19.000000000","message":"```suggestion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n```","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"1bd83de33ef675e86449a48a8d3a316ea49306cf","unresolved":false,"context_lines":[{"line_number":631,"context_line":""},{"line_number":632,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":633,"context_line":"v3oidcauthcode - Authorization Code Flow"},{"line_number":634,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"This flow is the standard OAuth 2.0 authorization code flow, typically used"},{"line_number":637,"context_line":"in web applications. It requires obtaining an authorization code through a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ecb71dbd_30e8cba2","line":634,"in_reply_to":"2ec97ed1_6be5ed68","updated":"2026-01-20 12:11:53.000000000","message":"Done","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"3be8d13c1e76991ba9e06e41c7a3cf74381f65fd","unresolved":true,"context_lines":[{"line_number":673,"context_line":"   The redirect URI must be registered with the Identity Provider and must"},{"line_number":674,"context_line":"   exactly match the value configured in the OIDC client settings."},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":677,"context_line":"v3oidcdeviceauthz - Device Authorization Flow"},{"line_number":678,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":679,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"cd7808a5_8bc457df","line":676,"updated":"2025-12-23 22:42:19.000000000","message":"```suggestion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n```","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"1bd83de33ef675e86449a48a8d3a316ea49306cf","unresolved":false,"context_lines":[{"line_number":673,"context_line":"   The redirect URI must be registered with the Identity Provider and must"},{"line_number":674,"context_line":"   exactly match the value configured in the OIDC client settings."},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":677,"context_line":"v3oidcdeviceauthz - Device Authorization Flow"},{"line_number":678,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":679,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"69d15fd5_48043ee6","line":676,"in_reply_to":"cd7808a5_8bc457df","updated":"2026-01-20 12:11:53.000000000","message":"Done","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"3be8d13c1e76991ba9e06e41c7a3cf74381f65fd","unresolved":true,"context_lines":[{"line_number":675,"context_line":""},{"line_number":676,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":677,"context_line":"v3oidcdeviceauthz - Device Authorization Flow"},{"line_number":678,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":679,"context_line":""},{"line_number":680,"context_line":"This flow (RFC 8628) is designed for devices with limited input capability,"},{"line_number":681,"context_line":"such as smart TVs, IoT devices, or CLI tools. The user authenticates on a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"463536c2_07edabc4","line":678,"updated":"2025-12-23 22:42:19.000000000","message":"```suggestion\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n```","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"},{"author":{"_account_id":14250,"name":"Grzegorz Grasza","email":"xek@redhat.com","username":"xek"},"change_message_id":"1bd83de33ef675e86449a48a8d3a316ea49306cf","unresolved":false,"context_lines":[{"line_number":675,"context_line":""},{"line_number":676,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":677,"context_line":"v3oidcdeviceauthz - Device Authorization Flow"},{"line_number":678,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":679,"context_line":""},{"line_number":680,"context_line":"This flow (RFC 8628) is designed for devices with limited input capability,"},{"line_number":681,"context_line":"such as smart TVs, IoT devices, or CLI tools. The user authenticates on a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"eddc1a63_e4d3e72f","line":678,"in_reply_to":"463536c2_07edabc4","updated":"2026-01-20 12:11:53.000000000","message":"Done","commit_id":"52853b96bf4d78b0f1bebb01b66073e91b8cfe0c"}]}
