{"id":2898682,"date":"2025-07-30T06:36:31","date_gmt":"2025-07-30T13:36:31","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2898682"},"modified":"2025-07-30T08:41:39","modified_gmt":"2025-07-30T15:41:39","slug":"introducing-next-generation-of-authentication-in-qt-maps-sdk","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk","title":{"rendered":"Logging into the future: Introducing the Next Generation of Authentication in ArcGIS Maps SDK for Qt"},"author":5331,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[738191],"tags":[764502,777722,24631,780372,780382],"industry":[],"product":[769152,36601],"class_list":["post-2898682","blog","type-blog","status-publish","format-standard","hentry","category-developers","tag-authentication","tag-oauth","tag-qt","tag-qt-maps-sdk","tag-token","product-sdk-qt","product-developers"],"acf":{"authors":[{"ID":5331,"user_firstname":"Lucas","user_lastname":"Danzinger","nickname":"Lucas Danzinger","user_nicename":"ldanzinger","display_name":"Lucas Danzinger","user_email":"LDanzinger@esri.com","user_url":"","user_registered":"2018-03-02 00:17:04","user_description":"Lucas is a Product Engineering Lead, dedicating the majority of his efforts to the Qt Maps SDK and advancing the geometry editing capabilities within the Maps SDKs for Native Apps. Outside of his professional pursuits, he enjoys outdoor activities, traveling, and culinary exploration.","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/9941353aad6686462149f10834e13f19b4615b89008d87cd496ba9be49cf55a5?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/9941353aad6686462149f10834e13f19b4615b89008d87cd496ba9be49cf55a5?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"}],"short_description":"ArcGIS Maps SDK 200.8 for Qt introduces a brand-new pattern for authenticating with ArcGIS.","flexible_content":[{"acf_fc_layout":"content","content":"<p><span data-contrast=\"auto\">ArcGIS Maps SDK 200.8 for Qt introduces a brand-new pattern for authenticating with ArcGIS. We offer this new pattern alongside our existing \u201clegacy\u201d authentication API and it is functionally equivalent, supporting Token, OAuth (app and user), SAML, IWA, and PKI workflows.\u00a0 Some added benefits include a more explicit API that separates ArcGIS logins (Token, OAuth) and network logins (IWA, PKI), an external out-of-process browser login workflow with OAuth on mobile platforms, and an improved PKI login experience. In addition, the new authentication API utilizes the same underlying logic and design patterns used by the other ArcGIS Maps SDKs for Native Apps. This means you can expect better consistency in capabilities and improved quality and stability. <\/span><\/p>\n<p>While you can continue to use the legacy system at 200.8, we recommend that you start to migrate as early as possible, because we have deprecated the legacy system and plan to remove it in version 300.0.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":2898722,"id":2898722,"title":"Screenshot 2025-07-15 at 2.37.22\u202fPM","filename":"Screenshot-2025-07-15-at-2.37.22\u202fPM.png","filesize":116724,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/07\/Screenshot-2025-07-15-at-2.37.22\u202fPM.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk\/screenshot-2025-07-15-at-2-37-22-pm","alt":"An ArcGIS OAuth sign in page displayed in a Qt application","author":"5331","description":"An ArcGIS OAuth sign in page displayed in a Qt application","caption":"An ArcGIS OAuth sign in page displayed in a Qt application","name":"screenshot-2025-07-15-at-2-37-22-pm","status":"inherit","uploaded_to":2898682,"date":"2025-07-15 19:46:32","modified":"2025-07-15 21:58:59","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1596,"height":1191,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/07\/Screenshot-2025-07-15-at-2.37.22\u202fPM-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/07\/Screenshot-2025-07-15-at-2.37.22\u202fPM.png","medium-width":350,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/07\/Screenshot-2025-07-15-at-2.37.22\u202fPM.png","medium_large-width":768,"medium_large-height":573,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/07\/Screenshot-2025-07-15-at-2.37.22\u202fPM.png","large-width":1447,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/07\/Screenshot-2025-07-15-at-2.37.22\u202fPM-1536x1146.png","1536x1536-width":1536,"1536x1536-height":1146,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/07\/Screenshot-2025-07-15-at-2.37.22\u202fPM.png","2048x2048-width":1596,"2048x2048-height":1191,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/07\/Screenshot-2025-07-15-at-2.37.22\u202fPM-623x465.png","card_image-width":623,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/07\/Screenshot-2025-07-15-at-2.37.22\u202fPM-1447x1080.png","wide_image-width":1447,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><i><span data-contrast=\"auto\">You may be asking the question, \u201cSo, what do I need to do to use the new authentication system?\u201d<\/span><\/i><span data-contrast=\"auto\"> First, you\u2019ll need to opt out of the legacy system. To do this, you will need to add the following line of code prior to any outgoing network requests, ideally in the first few lines of the main.cpp.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<pre><code style=\"color: #24292e;background: #ffffff;padding: 1em\">\r\nArcGISRuntimeEnvironment::<span style=\"color: #e36209\">setUseLegacyAuthentication<\/span>(<span style=\"color: #005cc5\">false<\/span>); \r\n<\/code><\/pre>\n<p><span data-contrast=\"auto\">Next, we recommend you use the Toolkit component <\/span><a href=\"https:\/\/github.com\/Esri\/arcgis-maps-sdk-toolkit-qt\/blob\/main\/uitools\/toolkitcpp\/docs\/Authenticator.md\"><i><span data-contrast=\"none\">Authenticator<\/span><\/i><\/a><span data-contrast=\"auto\"> to respond to authentication challenges<\/span><span data-contrast=\"auto\">. <\/span><i><span data-contrast=\"auto\">Authenticator <\/span><\/i><span data-contrast=\"auto\">is a view component that automatically displays the proper UI for authenticating with ArcGIS, regardless of whether your organization uses OAuth, IWA, PKI, or some other system. Moreover, <\/span><i><span data-contrast=\"auto\">Authenticator<\/span><\/i><span data-contrast=\"auto\"> provides a great user experience out of the box, requiring you to write virtually no client code.<\/span><\/p>\n<p><span data-contrast=\"auto\">To use <\/span><i><span data-contrast=\"auto\">Authenticator<\/span><\/i><span data-contrast=\"auto\">, follow the <\/span><a href=\"https:\/\/github.com\/Esri\/arcgis-maps-sdk-toolkit-qt\/tree\/v.next\/uitools\/toolkitcpp#example-steps-showing-how-to-use-a-qt-quick-ui-component-in-your-project\"><span data-contrast=\"none\">setup instructions<\/span><\/a><span data-contrast=\"auto\"> in the Toolkit, and declare an <\/span><i><span data-contrast=\"auto\">Authenticator <\/span><\/i><span data-contrast=\"auto\">in your QML code:<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<pre><code style=\"color: #24292e;background: #ffffff;padding: 1em\">\r\nAuthenticator { \r\n        anchors.centerIn: parent \r\n} \r\n<\/code><\/pre>\n<p><span data-contrast=\"auto\">And with just those two blocks of code, you have successfully started using the new authentication system. <\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">While <\/span><i><span data-contrast=\"auto\">Authenticator<\/span><\/i><span data-contrast=\"auto\"> covers many common workflows with a default experience, you may have scenarios where your app code needs to manage and respond to authentication challenges on its own. The <\/span><a href=\"https:\/\/developers.arcgis.com\/qt\/security-and-authentication\/\"><span data-contrast=\"none\">Security and Authentication guide topic<\/span><\/a><span data-contrast=\"auto\"> explains several important concepts of the new system in detail. Instead of rehashing those, I will compare the two systems, which should aid in migration:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">The new authentication system distinguishes between <strong>ArcGIS authentication<\/strong> and <strong>network authentication<\/strong>. ArcGIS authentication refers to OAuth and Token workflows, where users use an ArcGIS credential to sign in. Network authentication refers to technologies such as Integrated Windows Authentication (IWA) and Public Key Infrastructure (PKI), where authentication happens at the network level (such as through Windows Active Directory), which creates a streamlined login experience where users don\u2019t need to maintain separate ArcGIS credentials. The legacy system doesn\u2019t make a distinction between the two patterns, whereas the new system does. Therefore, developers can separately listen and respond to ArcGIS and network authentication challenges, resulting in a more explicit API for the different paradigms and options that go with them.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:720,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279,&quot;335559991&quot;:360}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">To respond to a challenge in the legacy system, you connect to the <\/span><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-authenticationmanager.html#authenticationChallenge\"><i><span data-contrast=\"auto\">AuthenticationManager::authenticationChallenge<\/span><\/i><\/a><span data-contrast=\"auto\"> signal. To respond to a challenge in the new system, you subclass <\/span><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-authentication-arcgisauthenticationchallengehandler.html\"><i><span data-contrast=\"none\">ArcGISAuthenticationChallengeHandler <\/span><\/i><\/a><span data-contrast=\"none\">or <\/span><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-authentication-networkauthenticationchallengehandler.html\"><i><span data-contrast=\"none\">NetworkAuthenticationChallengeHandler <\/span><\/i><\/a><span data-contrast=\"none\">and set it on <\/span><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-authentication-authenticationmanager.html\"><i><span data-contrast=\"auto\">Esri::ArcGISRuntime::<\/span><\/i><i><span data-contrast=\"none\">Authentication::AuthenticationManager<\/span><\/i><\/a><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:720,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279,&quot;335559991&quot;:360}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"none\">In the legacy system, the <\/span><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-credentialcache.html\"><i><span data-contrast=\"none\">CredentialCache<\/span><\/i><\/a><span data-contrast=\"none\"> manages credentials from past requests. <\/span><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-authentication-arcgiscredentialstore.html\"><i><span data-contrast=\"none\">ArcGISCredentialStore <\/span><\/i><\/a><span data-contrast=\"none\">and <\/span><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-authentication-networkcredentialstore.html\"><i><span data-contrast=\"none\">NetworkCredentialStore <\/span><\/i><\/a><span data-contrast=\"none\">provide similar capabilities in the new system.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:720,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279,&quot;335559991&quot;:360}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"none\">In the legacy system, developers can directly set a <\/span><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-credential.html\"><i><span data-contrast=\"none\">Credential<\/span><\/i><\/a><span data-contrast=\"none\"> preemptively on any object that implements the <\/span><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-remoteresource.html\"><i><span data-contrast=\"none\">RemoteResource<\/span><\/i><\/a><span data-contrast=\"none\"> interface. The new system no longer supports this pattern, and instead, developers should create challenge handlers to respond to authentication challenges.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:720,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279,&quot;335559991&quot;:360}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"none\">Here are a few additional important tips to keep in mind with the new authentication system:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\"><span data-contrast=\"auto\">The new authentication system resides in a new namespace named <\/span><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-authentication.html\"><i><span data-contrast=\"auto\">Esri::ArcGISRuntime::Authentication<\/span><\/i><\/a><span data-contrast=\"auto\">. Importantly, there is a new <\/span><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-authentication-authenticationmanager.html\"><i><span data-contrast=\"auto\">Esri::ArcGISRuntime::Authentication::AuthenticationManager<\/span><\/i><\/a><span data-contrast=\"auto\">, which differs from the <\/span><a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/api-reference\/esri-arcgisruntime-authenticationmanager.html\"><i><span data-contrast=\"auto\">Esri::ArcGISRuntime::AuthenticationManager<\/span><\/i><\/a><span data-contrast=\"auto\"> class.\u00a0<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:720,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279,&quot;335559991&quot;:360}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"6\" data-aria-level=\"1\"><span data-contrast=\"auto\">All new authentication headers are in an \u201cAuthentication\u201d include subfolder. <\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"7\" data-aria-level=\"1\"><span data-contrast=\"auto\">The new and legacy systems are mutually exclusive and cannot be intermixed. We\u2019ve added header guards to prevent you from mixing the two systems.<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"8\" data-aria-level=\"1\"><span data-contrast=\"auto\">The legacy authentication system contains compile-time deprecation warnings. Ensure you\u2019ve addressed all deprecation warnings as soon as possible t<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">o streamline upgrading to future versions of ArcGIS Maps SDK for Qt.<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">We intend to add numerous additional features in future releases, some of which include:<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Identity Aware Proxy, to support technologies such as Microsoft Entra<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Persistent Credential Store (e.g. Apple\u2019s Keychain)<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Custom HTTP requests using authentication<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"4\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\"><span data-contrast=\"auto\">Additional PKI variations (dual PKI\/OAuth authentication, smart cards, etc.)<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">In summary, we&#8217;ve released the new authentication system in ArcGIS Maps SDK 200.8 for Qt alongside the legacy system. Along with functional equivalence, the new system introduces a more explicit API design, OAuth out-of-process browser logins on mobile, an improved PKI login experience, and improved product stability. We&#8217;ve provided a streamlined migration path with the <\/span><i><span data-contrast=\"auto\">Authenticator<\/span><\/i><span data-contrast=\"auto\"> toolkit component, and we&#8217;ve updated our documentation, <a href=\"https:\/\/developers.arcgis.com\/qt\/cpp\/sample-code\/access-portal-user-info\/\">samples<\/a>, and <a href=\"https:\/\/developers.arcgis.com\/qt\/security-and-authentication\/tutorials\/access-services-with-oauth-2-0\/\">tutorials<\/a> to showcase the new patterns in action. With this information, we hope you are inspired to start migrating your apps today. <\/span><\/p>\n<p><span data-contrast=\"auto\">Please reach out on Esri Community&#8217;s <a href=\"https:\/\/community.esri.com\/t5\/qt-maps-sdk-questions\/bd-p\/arcgis-runtime-sdk-for-qt-questions\">Qt Maps SDK Questions<\/a> forum if you have any questions. Happy coding!<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:false,&quot;201341983&quot;:0,&quot;335551550&quot;:1,&quot;335551620&quot;:1,&quot;335559685&quot;:0,&quot;335559737&quot;:0,&quot;335559738&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:279}\">\u00a0<\/span><\/p>\n"}],"related_articles":[{"ID":2715362,"post_author":"357152","post_date":"2025-03-10 09:30:18","post_date_gmt":"2025-03-10 16:30:18","post_content":"","post_title":"How to Migrate to the New Authentication System in ArcGIS Maps SDK for .NET","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"new-auth-apis-for-dotnet-sdk","to_ping":"","pinged":"","post_modified":"2025-03-10 10:51:52","post_modified_gmt":"2025-03-10 17:51:52","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2715362","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2789732,"post_author":"8722","post_date":"2025-05-13 10:05:27","post_date_gmt":"2025-05-13 17:05:27","post_content":"","post_title":"How to create an ArcGIS Maps SDK for Qt Android App using CMake","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"how-to-create-an-arcgis-maps-sdk-for-qt-android-app-using-cmake","to_ping":"","pinged":"","post_modified":"2025-05-13 15:20:30","post_modified_gmt":"2025-05-13 22:20:30","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2789732","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":2912232,"post_author":"3811","post_date":"2025-07-30 06:30:04","post_date_gmt":"2025-07-30 13:30:04","post_content":"","post_title":"What\u2019s new in ArcGIS Maps SDKs for Native Apps 200.8","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"whats-new-in-arcgis-maps-sdks-for-native-apps-200-8","to_ping":"","pinged":"","post_modified":"2025-12-03 17:17:16","post_modified_gmt":"2025-12-04 01:17:16","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=2912232","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"show_article_image":false,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/07\/AdobeStock_146513472-2.png","wide_image":false},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>New Authentication Pattern in ArcGIS Maps SDK for Qt v200.8<\/title>\n<meta name=\"description\" content=\"ArcGIS Maps SDK 200.8 for Qt introduces a brand-new pattern for authenticating with ArcGIS with numerous benefits.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Logging into the future: Introducing the Next Generation of Authentication in ArcGIS Maps SDK for Qt\" \/>\n<meta property=\"og:description\" content=\"ArcGIS Maps SDK 200.8 for Qt introduces a brand-new pattern for authenticating with ArcGIS with numerous benefits.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-30T15:41:39+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk\"},\"author\":{\"name\":\"Lucas Danzinger\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f1ad3977d3b9ad81493142607e7e5883\"},\"headline\":\"Logging into the future: Introducing the Next Generation of Authentication in ArcGIS Maps SDK for Qt\",\"datePublished\":\"2025-07-30T13:36:31+00:00\",\"dateModified\":\"2025-07-30T15:41:39+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk\"},\"wordCount\":16,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"authentication\",\"OAuth\",\"Qt\",\"Qt Maps SDK\",\"Token\"],\"articleSection\":[\"Developers\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk\",\"name\":\"New Authentication Pattern in ArcGIS Maps SDK for Qt v200.8\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2025-07-30T13:36:31+00:00\",\"dateModified\":\"2025-07-30T15:41:39+00:00\",\"description\":\"ArcGIS Maps SDK 200.8 for Qt introduces a brand-new pattern for authenticating with ArcGIS with numerous benefits.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Logging into the future: Introducing the Next Generation of Authentication in ArcGIS Maps SDK for Qt\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f1ad3977d3b9ad81493142607e7e5883\",\"name\":\"Lucas Danzinger\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9941353aad6686462149f10834e13f19b4615b89008d87cd496ba9be49cf55a5?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9941353aad6686462149f10834e13f19b4615b89008d87cd496ba9be49cf55a5?s=96&d=blank&r=g\",\"caption\":\"Lucas Danzinger\"},\"description\":\"Lucas is a Product Engineering Lead, dedicating the majority of his efforts to the Qt Maps SDK and advancing the geometry editing capabilities within the Maps SDKs for Native Apps. Outside of his professional pursuits, he enjoys outdoor activities, traveling, and culinary exploration.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/lucas-danzinger-ab371b37\/\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/ldanzinger\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"New Authentication Pattern in ArcGIS Maps SDK for Qt v200.8","description":"ArcGIS Maps SDK 200.8 for Qt introduces a brand-new pattern for authenticating with ArcGIS with numerous benefits.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk","og_locale":"en_US","og_type":"article","og_title":"Logging into the future: Introducing the Next Generation of Authentication in ArcGIS Maps SDK for Qt","og_description":"ArcGIS Maps SDK 200.8 for Qt introduces a brand-new pattern for authenticating with ArcGIS with numerous benefits.","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2025-07-30T15:41:39+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk"},"author":{"name":"Lucas Danzinger","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f1ad3977d3b9ad81493142607e7e5883"},"headline":"Logging into the future: Introducing the Next Generation of Authentication in ArcGIS Maps SDK for Qt","datePublished":"2025-07-30T13:36:31+00:00","dateModified":"2025-07-30T15:41:39+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk"},"wordCount":16,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["authentication","OAuth","Qt","Qt Maps SDK","Token"],"articleSection":["Developers"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk","name":"New Authentication Pattern in ArcGIS Maps SDK for Qt v200.8","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2025-07-30T13:36:31+00:00","dateModified":"2025-07-30T15:41:39+00:00","description":"ArcGIS Maps SDK 200.8 for Qt introduces a brand-new pattern for authenticating with ArcGIS with numerous benefits.","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/sdk-qt\/developers\/introducing-next-generation-of-authentication-in-qt-maps-sdk#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Logging into the future: Introducing the Next Generation of Authentication in ArcGIS Maps SDK for Qt"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/f1ad3977d3b9ad81493142607e7e5883","name":"Lucas Danzinger","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9941353aad6686462149f10834e13f19b4615b89008d87cd496ba9be49cf55a5?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9941353aad6686462149f10834e13f19b4615b89008d87cd496ba9be49cf55a5?s=96&d=blank&r=g","caption":"Lucas Danzinger"},"description":"Lucas is a Product Engineering Lead, dedicating the majority of his efforts to the Qt Maps SDK and advancing the geometry editing capabilities within the Maps SDKs for Native Apps. Outside of his professional pursuits, he enjoys outdoor activities, traveling, and culinary exploration.","sameAs":["https:\/\/www.linkedin.com\/in\/lucas-danzinger-ab371b37\/"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/ldanzinger"}]}},"text_date":"July 30, 2025","author_name":"Lucas Danzinger","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/ldanzinger","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcGIS Maps SDK for Qt","tag_data":[{"term_id":764502,"name":"authentication","slug":"authentication","term_group":0,"term_taxonomy_id":764502,"taxonomy":"post_tag","description":"","parent":0,"count":6,"filter":"raw"},{"term_id":777722,"name":"OAuth","slug":"oauth","term_group":0,"term_taxonomy_id":777722,"taxonomy":"post_tag","description":"","parent":0,"count":3,"filter":"raw"},{"term_id":24631,"name":"Qt","slug":"qt","term_group":0,"term_taxonomy_id":24631,"taxonomy":"post_tag","description":"","parent":0,"count":36,"filter":"raw"},{"term_id":780372,"name":"Qt Maps SDK","slug":"qt-maps-sdk","term_group":0,"term_taxonomy_id":780372,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":780382,"name":"Token","slug":"token","term_group":0,"term_taxonomy_id":780382,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"}],"category_data":[{"term_id":738191,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":738191,"taxonomy":"category","description":"","parent":0,"count":423,"filter":"raw"}],"product_data":[{"term_id":769152,"name":"ArcGIS Maps SDK for Qt","slug":"sdk-qt","term_group":0,"term_taxonomy_id":769152,"taxonomy":"product","description":"","parent":36601,"count":36,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":763,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=sdk-qt","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2898682","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/5331"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=2898682"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/2898682\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=2898682"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=2898682"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=2898682"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=2898682"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=2898682"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}