CINXE.COM

Newest 'google-identity' Questions - Stack Overflow

<!DOCTYPE html> <html class="html__responsive " lang="en"> <head> <title>Newest &#39;google-identity&#39; Questions - Stack Overflow</title> <link rel="shortcut icon" href="https://cdn.sstatic.net/Sites/stackoverflow/Img/favicon.ico?v=ec617d715196"> <link rel="apple-touch-icon" href="https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png?v=c78bd457575a"> <link rel="image_src" href="https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon.png?v=c78bd457575a"> <link rel="search" type="application/opensearchdescription+xml" title="Stack Overflow" href="/opensearch.xml"> <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0"> <meta name="bingbot" content="noarchive"> <meta property="og:type" content= "website" /> <meta property="og:url" content="https://stackoverflow.com/questions/tagged/google-identity"/> <meta property="og:site_name" content="Stack Overflow" /> <meta property="og:image" itemprop="image primaryImageOfPage" content="https://cdn.sstatic.net/Sites/stackoverflow/Img/apple-touch-icon@2.png?v=73d79a89bded" /> <meta name="twitter:card" content="summary"/> <meta name="twitter:domain" content="stackoverflow.com"/> <meta name="twitter:title" property="og:title" itemprop="name" content="Newest &#x27;google-identity&#x27; Questions" /> <meta name="twitter:description" property="og:description" itemprop="description" content="Stack Overflow | The World&#x2019;s Largest Online Community for Developers" /> <script id="webpack-public-path" type="text/uri-list">https://cdn.sstatic.net/</script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script> <script defer src="https://cdn.sstatic.net/Js/third-party/npm/@stackoverflow/stacks/dist/js/stacks.min.js?v=90a447add688"></script> <script src="https://cdn.sstatic.net/Js/stub.en.js?v=30464efc364f"></script> <link rel="stylesheet" type="text/css" href="https://cdn.sstatic.net/Shared/stacks.css?v=bd2aba62c5a4"> <link rel="stylesheet" type="text/css" href="https://cdn.sstatic.net/Sites/stackoverflow/primary.css?v=cc49ce762956"> <link rel="stylesheet" type="text/css" href="https://cdn.sstatic.net/Sites/stackoverflow/secondary.css?v=2a409df786e1"> <link rel="alternate" type="application/atom+xml" title="Newest google-identity questions feed" href="/feeds/tag?tagnames=google-identity&amp;sort=newest" /> <script> StackExchange.gps.track("tagged_questions.visit", { pageUrl: "/questions/tagged" }); </script> <link rel="stylesheet" type="text/css" href="https://cdn.sstatic.net/Shared/Channels/channels.css?v=5981bb1a5bd7"> <script type="application/json" data-role="module-args" data-module-name="Shared/options.mod">{"options":{"locale":"en","serverTime":1739776788,"routeName":"Questions/ListByTag","stackAuthUrl":"https://stackauth.com","networkMetaHostname":"meta.stackexchange.com","site":{"name":"Stack Overflow","description":"Q\u0026A for professional and enthusiast programmers","isNoticesTabEnabled":true,"enableNewTagCreationWarning":true,"insertSpaceAfterNameTabCompletion":false,"id":1,"cookieDomain":".stackoverflow.com","childUrl":"https://meta.stackoverflow.com","negativeVoteScoreFloor":null,"enableSocialMediaInSharePopup":true,"protocol":"https"},"user":{"fkey":"b39cb1a761f93912de068f8e6267ee5702b7d597a570755c5112354b099addd4","tid":"d5aabc3b-e515-48cf-9ca5-1410982cbfae","rep":0,"isAnonymous":true,"isAnonymousNetworkWide":true},"events":{"postType":{"question":1},"postEditionSection":{"title":1,"body":2,"tags":3}}}}</script> <script type="application/json" data-role="module-args" data-module-name="Shared/settings.mod">{"settings":{"intercom":{"appId":"inf0secd"},"snippets":{"snippetsEnabled":true,"renderDomain":"stacksnippets.net"},"site":{"stacksEditorPreviewEnabled":true,"allowImageUploads":true,"forceHttpsImages":true,"enableImageHttps":true,"styleCode":true,"enableUserHovercards":true},"legal":{"useCustomConsent":false,"oneTrustTCFConfigId":"c3d9f1e3-55f3-4eba-b268-46cee4c6789c"},"comments":{},"questionLinkTitleReplacement":{"maxNumberOfSitesProcessed":10,"maxReplacementsPerSite":20},"subscriptions":{"defaultBasicMaxTrueUpSeats":250,"defaultFreemiumMaxTrueUpSeats":50,"defaultMaxTrueUpSeats":1000},"questions":{"questionTitleLengthStartLiveWarningChars":50,"enableQuestionTitleLengthLiveWarning":true,"maxTitleSize":150,"enableSavesFeature":true},"flags":{"allowRetractingFlags":true,"allowRetractingCommentFlags":true},"markdown":{"enableTables":true},"paths":{"jQueryUICSSPath":"https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/themes/smoothness/jquery-ui.css","jQueryUIJSPath":"https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.0/jquery-ui.min.js"},"image":{"maxImageUploadSizeInBytes":10485760,"maxImageUploadSizeInBytesAnimatedGif":2097152},"mentions":{"maxNumUsersInDropdown":50},"auth":{"oauthInPopup":true},"userMessaging":{"showNewFeatureNotice":true},"accounts":{"currentPasswordRequiredForChangingStackIdPassword":true},"tags":{},"elections":{"opaVoteResultsBaseUrl":"https://www.opavote.com/results/"},"search":{}}}</script> <script>StackExchange.init();</script> <script> StackExchange.using.setCacheBreakers({"Js/adops.en.js":"6da43f5e0a84","Js/ask.en.js":"","Js/begin-edit-event.en.js":"20edbaccceae","Js/copy-transpiled.en.js":"f48f8f039185","Js/events.en.js":"","Js/explore-qlist.en.js":"ee2a4f8c3992","Js/full-anon.en.js":"c5f441a0c0f3","Js/full.en.js":"e5895fea2680","Js/highlightjs-loader.en.js":"a3e36fe85053","Js/inline-tag-editing.en.js":"8517756a2cb6","Js/keyboard-shortcuts.en.js":"c255a5a5979b","Js/markdown-it-loader.en.js":"781aa77e9602","Js/mentions-transpiled.en.js":"bcadb48d3570","Js/moderator.en.js":"c12dd4738c7f","Js/postCollections-transpiled.en.js":"9f7a87e8cf0d","Js/post-validation.en.js":"44d59ccfc490","Js/question-editor.en.js":"","Js/review-v2-transpiled.en.js":"c9e05881f8ab","Js/revisions.en.js":"9dd135bb585f","Js/stacks-editor.en.js":"cf77c9d2187c","Js/tageditor.en.js":"5b8f289d02ef","Js/tageditornew.en.js":"ca426894aed0","Js/tagsuggestions.en.js":"762b96a1ae1f","Js/unlimited-transpiled.en.js":"8713a979101d","Js/wmd.en.js":"eef1c2cfa021","Js/snippet-javascript-codemirror.en.js":"0f42dbb990fa"}); StackExchange.using("gps", function() { StackExchange.gps.init(false); }); </script> <noscript id="noscript-css"><style>body,.s-topbar{margin-top:1.9em}</style></noscript> </head> <body class="tagged-questions-page unified-theme"> <div id="signup-modal-container"></div> <script type="application/json" data-role="module-args" data-module-name="islands/signup-modal/index.mod">{"ContainerElementId":"signup-modal-container","FKey":"b39cb1a761f93912de068f8e6267ee5702b7d597a570755c5112354b099addd4","TriggerEvent":"signupModalShow","OauthInPopup":true,"ReturnUrl":"https://stackoverflow.com/questions/tagged/google-identity","ReturnUrlForPopup":"https://stackoverflow.com/users/after-signup/oauth-only","SiteName":"Stack Overflow","SiteLogoPath":"https://cdn.sstatic.net/Sites/stackoverflow/Img/icon-48.png?v=b7e36f88ff92","AuthProviders":["Google","GitHub"],"ParentSiteUrl":"","IsInitiallyVisible":false}</script> <script defer src="https://cdn.sstatic.net/Js/webpack-chunks/svelte.en.js?v=ac1681a633a2"></script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/stacks-svelte.en.js?v=585200d05e44"></script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/8901.en.js?v=9ff34567d3a5"></script><script defer src="https://cdn.sstatic.net/Js/islands/signup-modal.en.js?v=47ec828efb46"></script> <script defer> dispatchEvent(new CustomEvent("openSignupModal")); </script> <div id="one-tap-container"></div> <script type="application/json" data-role="module-args" data-module-name="islands/one-tap/index.mod">{"ContainerElementId":"one-tap-container","FKey":"b39cb1a761f93912de068f8e6267ee5702b7d597a570755c5112354b099addd4","GoogleClientId":"717762328687-iludtf96g1hinl76e4lc1b9a82g457nn.apps.googleusercontent.com","Autoselect":false,"ReturnUrl":"https%3a%2f%2fstackoverflow.com%2fquestions%2ftagged%2fgoogle-identity"}</script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/svelte.en.js?v=ac1681a633a2"></script><script defer src="https://cdn.sstatic.net/Js/islands/one-tap.en.js?v=bc67e8c0f01e"></script> <div id="notify-container"></div> <div id="custom-header"></div> <header class="s-topbar ps-fixed t0 l0 js-top-bar"> <a href="#content" class="s-topbar--skip-link">Skip to main content</a> <div class="s-topbar--container"> <a href="#" class="s-topbar--menu-btn js-left-sidebar-toggle" role="menuitem" aria-haspopup="true" aria-controls="left-sidebar" aria-expanded="false"><span></span></a> <div class="topbar-dialog leftnav-dialog js-leftnav-dialog dno"> <div class="left-sidebar js-unpinned-left-sidebar" data-can-be="left-sidebar" data-is-here-when="sm"></div> </div> <a href="https://stackoverflow.com" class="s-topbar--logo js-gps-track" data-gps-track="top_nav.click({is_current:false, location:5, destination:8}); homelogo_nav.click({location:5})"> <span class="-img _glyph">Stack Overflow</span> </a> <ol class="s-navigation fw-nowrap" role="presentation"> <li class="md:d-none"> <a href="https://stackoverflow.co/" class="s-navigation--item js-gps-track" data-gps-track="top_nav.products.click({location:5, destination:7})" data-ga="[&quot;top navigation&quot;,&quot;about menu click&quot;,null,null,null]">About</a> </li> <li> <button class="s-navigation--item js-gps-track" type="button" aria-controls="products-popover" aria-expanded="false" data-controller="s-popover" data-action="s-popover#toggle" data-s-popover-toggle-class="is-selected" data-gps-track="top_nav.products.click({location:5, destination:1})" data-ga="[&quot;top navigation&quot;,&quot;products menu click&quot;,null,null,null]"> Products </button> </li> <li class="md:d-none"> <a href="https://stackoverflow.co/teams/ai/?utm_medium=referral&amp;utm_source=stackoverflow-community&amp;utm_campaign=top-nav-bar&amp;utm_content=overflowai" class="s-navigation--item js-gps-track" data-gps-track="top_nav.products.click({location:5, destination:10})" data-ga="[&quot;top navigation&quot;,&quot;learn more - overflowai&quot;,null,null,null]">OverflowAI</a> </li> </ol> <div class="s-popover ws2 mtn2 p0" id="products-popover" role="menu" aria-hidden="true"> <div class="s-popover--arrow"></div> <ol class="list-reset s-anchors s-anchors__inherit"> <li class="m6"> <a href="https://stackoverflow.co/teams/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=stack-overflow-for-teams" class="bar-sm p6 d-block h:bg-black-225 js-gps-track" data-gps-track="top_nav.products.click({location:5, destination:3})" data-ga="[&quot;top navigation&quot;,&quot;teams submenu click&quot;,null,null,null]"> <span class="fs-body1 d-block">Stack Overflow for Teams</span> <span class="fs-caption d-block fc-black-400">Where developers &amp; technologists share private knowledge with coworkers</span> </a> </li> <li class="m6"> <a href="https://stackoverflow.co/advertising/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=stack-overflow-advertising" class="bar-sm p6 d-block h:bg-black-225 js-gps-track" data-gps-track="top_nav.products.click({location:5, destination:6})" data-ga="[&quot;top navigation&quot;,&quot;advertising submenu click&quot;,null,null,null]"> <span class="fs-body1 d-block">Advertising &amp; Talent</span> <span class="fs-caption d-block fc-black-400">Reach devs &amp; technologists worldwide about your product, service or employer brand</span> </a> </li> <li class="bt bc-black-200 pt6 px6 bbr-md"> <a href="https://stackoverflow.co/teams/ai/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=overflow-ai" class="bar-sm p6 d-block h:bg-black-225 js-gps-track" data-gps-track="top_nav.products.click({location:5, destination:10})" data-ga="[&quot;top navigation&quot;,&quot;overflowai submenu click&quot;,null,null,null]"> <span class="fs-body1 d-block">OverflowAI</span> <span class="fs-caption d-block fc-black-400">GenAI features for Teams</span> </a> </li> <li class="pb6 px6 bbr-md"> <a href="https://stackoverflow.co/api-solutions/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=overflow-api" class="bar-sm p6 d-block h:bg-black-225 js-gps-track" data-gps-track="top_nav.products.click({location:5, destination:11})" data-ga="[&quot;top navigation&quot;,&quot;overflowapi submenu click&quot;,null,null,null]"> <span class="fs-body1 d-block">OverflowAPI</span> <span class="fs-caption d-block fc-black-400">Train &amp; fine-tune LLMs</span> </a> </li> <li class="bt bc-black-200 py6 px6 bbr-md"> <a href="https://stackoverflow.co/labs/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=labs" class="bar-sm p6 d-block h:bg-black-225 js-gps-track" data-gps-track="top_nav.products.click({location:5, destination:12})" data-ga="[&quot;top navigation&quot;,&quot;labs submenu click&quot;,null,null,null]"> <span class="fs-body1 d-block">Labs</span> <span class="fs-caption d-block fc-black-400">The future of collective knowledge sharing</span> </a> </li> <li class="bg-black-100 bt bc-black-200 py6 px6 bbr-md"> <a href="https://stackoverflow.co/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=about-the-company" class="fc-black-400 d-block py6 px6 h:fc-black-600" data-ga="[&quot;top navigation&quot;,&quot;about submenu click&quot;,null,null,null]">About the company</a> <a href="https://stackoverflow.blog/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=top-nav&utm_content=blog" class="fc-black-400 d-block py6 px6 h:fc-black-600" data-ga="[&quot;top navigation&quot;,&quot;blog submenu click&quot;,null,null,null]">Visit the blog</a> </li> </ol> </div> <form id="search" role="search" action=/search class="s-topbar--searchbar js-searchbar " autocomplete="off"> <div class="s-topbar--searchbar--input-group"> <input name="q" type="text" role="combobox" placeholder="Search&#x2026;" value="[google-identity]" autocomplete="off" maxlength="240" class="s-input s-input__search js-search-field wmn1 " aria-label="Search" aria-controls="top-search" data-controller="s-popover" data-action="focus->s-popover#show" data-s-popover-placement="bottom-start" /> <svg aria-hidden="true" class="s-input-icon s-input-icon__search svg-icon iconSearch" width="18" height="18" viewBox="0 0 18 18"><path d="m18 16.5-5.14-5.18h-.35a7 7 0 1 0-1.19 1.19v.35L16.5 18zM12 7A5 5 0 1 1 2 7a5 5 0 0 1 10 0"/></svg> <div class="s-popover p0 wmx100 wmn4 sm:wmn-initial js-top-search-popover" id="top-search" role="menu"> <div class="s-popover--arrow"></div> <div class="s-popover--content"> <div class="js-spinner p24 d-flex ai-center jc-center d-none"> <div class="s-spinner s-spinner__sm fc-orange-400"> <div class="v-visible-sr">Loading&#x2026;</div> </div> </div> <span class="v-visible-sr js-screen-reader-info"></span> <div class="js-ac-results overflow-y-auto hmx3 d-none"></div> <div class="js-search-hints" aria-describedby="Tips for searching"></div> </div> </div> </div> </form> <nav class="h100 ml-auto overflow-x-auto pr12" aria-label="Topbar"> <ol class="s-topbar--content" role="menubar"> <li class="js-topbar-dialog-corral" role="presentation"> <div class="topbar-dialog siteSwitcher-dialog dno" role="menu"> <div class="header fw-wrap"> <h3 class="flex--item"> <a href="https://stackoverflow.com">current community</a> </h3> <div class="flex--item fl1"> <div class="ai-center d-flex jc-end"> <button class="js-close-button s-btn s-btn__muted p0 ml8 d-none sm:d-block" type="button" aria-label="Close" > <svg aria-hidden="true" class="svg-icon iconClear" width="18" height="18" viewBox="0 0 18 18"><path d="M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z"/></svg> </button> </div> </div> </div> <div class="modal-content bg-blue-200 current-site-container"> <ul class="current-site"> <li class="d-flex"> <div class="fl1"> <a href="https://stackoverflow.com" class="current-site-link d-flex gx8 site-link js-gps-track" data-id="1" data-gps-track="site_switcher.click({ item_type:3 })"> <div class="favicon favicon-stackoverflow site-icon flex--item" title="Stack Overflow"></div> <span class="flex--item fl1"> Stack Overflow </span> </a> </div> <div class="related-links"> <a href="https://stackoverflow.com/help" class="js-gps-track" data-gps-track="site_switcher.click({ item_type:14 })">help</a> <a href="https://chat.stackoverflow.com/?tab=site&amp;host=stackoverflow.com" class="js-gps-track" data-gps-track="site_switcher.click({ item_type:6 })">chat</a> </div> </li> <li class="related-site d-flex"> <div class="L-shaped-icon-container"> <span class="L-shaped-icon"></span> </div> <a href="https://meta.stackoverflow.com" class="s-block-link px16 d-flex gx8 site-link js-gps-track" data-id="552" data-gps-track="site.switch({ target_site:552, item_type:3 }),site_switcher.click({ item_type:4 })"> <div class="favicon favicon-stackoverflowmeta site-icon flex--item" title="Meta Stack Overflow"></div> <span class="flex--item fl1"> Meta Stack Overflow </span> </a> </li> </ul> </div> <div class="header" id="your-communities-header"> <h3> your communities </h3> </div> <div class="modal-content" id="your-communities-section"> <div class="call-to-login"> <a href="https://stackoverflow.com/users/signup?ssrc=site_switcher&amp;returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2ftagged%2fgoogle-identity" class="login-link js-gps-track" data-gps-track="site_switcher.click({ item_type:10 })">Sign up</a> or <a href="https://stackoverflow.com/users/login?ssrc=site_switcher&amp;returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2ftagged%2fgoogle-identity" class="login-link js-gps-track" data-gps-track="site_switcher.click({ item_type:11 })">log in</a> to customize your list. </div> </div> <div class="header"> <h3><a href="https://stackexchange.com/sites">more stack exchange communities</a> </h3> <a href="https://stackoverflow.blog" class="float-right">company blog</a> </div> <div class="modal-content"> <div class="child-content"></div> </div> </div> </li> <li role="none"><button class="s-topbar--item s-btn s-btn__icon s-btn__muted d-none sm:d-inline-flex js-searchbar-trigger" role="menuitem" aria-label="Search" aria-haspopup="true" aria-controls="search" title="Click to show search"><svg aria-hidden="true" class="svg-icon iconSearch" width="18" height="18" viewBox="0 0 18 18"><path d="m18 16.5-5.14-5.18h-.35a7 7 0 1 0-1.19 1.19v.35L16.5 18zM12 7A5 5 0 1 1 2 7a5 5 0 0 1 10 0"/></svg></button></li> <li role="none"> <a href="https://stackoverflow.com/users/login?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2ftagged%2fgoogle-identity" class="s-topbar--item s-topbar--item__unset s-btn s-btn__outlined ws-nowrap js-gps-track" role="menuitem" rel="nofollow" data-gps-track="login.click" data-ga="[&quot;top navigation&quot;,&quot;login button click&quot;,null,null,null]">Log in</a> </li> <li role="none"><a href="https://stackoverflow.com/users/signup?ssrc=head&returnurl=https%3a%2f%2fstackoverflow.com%2fquestions%2ftagged%2fgoogle-identity" class="s-topbar--item s-topbar--item__unset ml4 s-btn s-btn__filled ws-nowrap js-signup-button js-gps-track" role="menuitem" rel="nofollow" data-gps-track="signup.topbar.click" data-ga="[&quot;sign up&quot;,&quot;Sign Up Navigation&quot;,&quot;Header&quot;,null,null]">Sign up</a></li> </ol> </nav> </div> </header> <script> StackExchange.ready(function () { StackExchange.topbar.init(); }); StackExchange.scrollPadding.setPaddingTop(50, 10); </script> <div id="announcement-banner" class="js-announcement-banner bg-black-500 fc-white baw0 ff-sans fs-body2 py2" data-campaign="2025-02-11.community-ama" data-cookie="notice-ama" data-expire-date="1740582000000"> <div class="d-flex jc-space-between ai-center wmx12 mx-auto px16 py8"> <div class="flex--item mr12 "> <span> Join Stack Overflow&#x2019;s first live community AMA on February 26th, at 3 PM ET. </span> <a target="_blank" class="s-link s-link__underlined fw-bold fc-white js-link js-gps-track" href="https://meta.stackexchange.com/questions/406399/join-us-for-our-first-community-wide-ama-ask-me-anything-with-stack-overflow-s?utm_medium=ppc&amp;utm_source=stackoverflow-community&amp;utm_campaign=community-ama&amp;utm_content=announcement-banner1" data-ga="[&quot;community-ama&quot;,&quot;Announcement Banner&quot;,&quot;https://meta.stackexchange.com/questions/406399/join-us-for-our-first-community-wide-ama-ask-me-anything-with-stack-overflow-s?utm_medium=ppc&amp;utm_source=stackoverflow-community&amp;utm_campaign=community-ama&amp;utm_content=announcement-banner1&quot;,null,{&quot;dimension4&quot;:&quot;community-ama&quot;}]" data-gps-track="announcement_banner.click({campaign: &#x27;2025-02-11.community-ama&#x27;, location: 5, action: 2})">Learn more</a> </div> <a class="flex--item fc-white js-dismiss js-gps-track" href="#" title="dismiss" data-gps-track="announcement_banner.click({campaign: &#x27;2025-02-11.community-ama&#x27;, location: 5, action: 1})"><svg aria-hidden="true" class="m0 svg-icon iconClear" width="18" height="18" viewBox="0 0 18 18"><path d="M15 4.41 13.59 3 9 7.59 4.41 3 3 4.41 7.59 9 3 13.59 4.41 15 9 10.41 13.59 15 15 13.59 10.41 9z"/></svg></a> </div> </div> <script> StackExchange.ready(function () { StackExchange.Notice.announcementBannerInit(); }); </script> <div class="container"> <div id="homepage-wizard-container"></div> <script type="application/json" data-role="module-args" data-module-name="islands/homepage-wizard/index.mod">{"ContainerElementId":"homepage-wizard-container","FKey":"b39cb1a761f93912de068f8e6267ee5702b7d597a570755c5112354b099addd4","Tags":["javascript","python","java","c#","php","android","html","jquery","c++","css","ios","sql","mysql","r","reactjs","node.js","arrays","c","asp.net","json","python-3.x",".net","ruby-on-rails","sql-server","swift","django","angular","objective-c","excel","pandas","angularjs","regex","typescript","ruby","linux","ajax","iphone","vba","xml","laravel","spring","asp.net-mvc","database","wordpress","string","flutter","postgresql","mongodb","wpf","windows","amazon-web-services","xcode","bash","git","oracle-database","spring-boot","dataframe","azure","firebase","list","multithreading","docker","vb.net","react-native","eclipse","algorithm","powershell","macos","visual-studio","numpy","image","forms","scala","function","vue.js","performance","twitter-bootstrap","selenium","winforms","kotlin","loops","express","dart","hibernate","sqlite","matlab","python-2.7","shell","rest","apache","entity-framework","android-studio","csv","api","maven","linq","qt","dictionary","unit-testing","facebook","asp.net-core","tensorflow","apache-spark","file","swing","class","unity-game-engine","sorting","date","authentication","go","symfony","opencv","t-sql","matplotlib",".htaccess","google-chrome","for-loop","datetime","codeigniter","http","perl","validation","sockets","google-maps","object","uitableview","xaml","oop","if-statement","visual-studio-code","cordova","ubuntu","web-services","email","android-layout","github","elasticsearch","spring-mvc","kubernetes","selenium-webdriver","ms-access","user-interface","parsing","ggplot2","pointers","machine-learning","c++11","security","google-sheets","flask","google-apps-script","ruby-on-rails-3","nginx","templates","variables","exception","sql-server-2008","gradle","debugging","tkinter","listview","delphi","jpa","asynchronous","pdf","web-scraping","haskell","jsp","ssl","amazon-s3","google-cloud-platform","jenkins","testing","xamarin","wcf","npm","batch-file","generics","ionic-framework","network-programming","unix","recursion","google-app-engine","mongoose","visual-studio-2010",".net-core","android-fragments","assembly","animation","math","next.js","session","svg","hadoop","intellij-idea","curl","django-models","join","laravel-5","winapi","url","heroku","rust","http-redirect","tomcat","google-cloud-firestore","inheritance","webpack","keras","image-processing","asp.net-mvc-4","gcc","web","logging","dom","swiftui","matrix","pyspark","actionscript-3","button","post","firebase-realtime-database","optimization","jquery-ui","cocoa","iis","xpath","d3.js","firefox","javafx","internet-explorer","xslt","caching","select","asp.net-mvc-3","opengl","events","asp.net-web-api","plot","dplyr","magento","encryption","search","stored-procedures","amazon-ec2","ruby-on-rails-4","memory","audio","canvas","multidimensional-array","jsf","random","cookies","vector","redux","facebook-graph-api","input","flash","xamarin.forms","indexing","arraylist","ipad","cocoa-touch","data-structures","video","apache-kafka","model-view-controller","serialization","jdbc","woocommerce","routes","razor","awk","azure-devops","servlets","mod-rewrite","beautifulsoup","docker-compose","iframe","filter","excel-formula","aws-lambda","design-patterns","text","django-rest-framework","visual-c++","cakephp","mobile","android-intent","react-hooks","struct","methods","groovy","mvvm","ssh","lambda","checkbox","google-chrome-extension","ecmascript-6","time","installation","grails","sharepoint","cmake","spring-security","shiny","jakarta-ee","android-recyclerview","plsql","core-data","types","meteor","android-activity","sed","websocket","bootstrap-4","activerecord","graph","replace","scikit-learn","file-upload","group-by","vim","junit","deep-learning","boost","import","sass","memory-management","error-handling","async-await","eloquent","dynamic","soap","silverlight","dependency-injection","charts","layout","apache-spark-sql","deployment","browser","gridview","svn","while-loop","google-bigquery","vuejs2","ffmpeg","dll","highcharts","view","foreach","plugins","c#-4.0","makefile","redis","reporting-services","jupyter-notebook","server","merge","https","unicode","reflection","google-maps-api-3","twitter","oauth-2.0","extjs","pytorch","axios","terminal","pip","split","mysqli","cmd","django-views","encoding","database-design","netbeans","collections","automation","hash","build","data-binding","ember.js","tcp","sqlalchemy","pdo","apache-flex","concurrency","command-line","spring-data-jpa","entity-framework-core","printing","java-8","react-redux","jestjs","service","html-table","neo4j","ansible","lua","parameters","material-ui","module","visual-studio-2012","enums","promise","flexbox","outlook","webview","firebase-authentication","web-applications","uwp","jquery-mobile","utf-8","datatable","python-requests","parallel-processing","drop-down-menu","colors","scroll","hive","tfs","scipy","count","syntax","ms-word","twitter-bootstrap-3","ssis","google-analytics","three.js","fonts","graphql","constructor","powerbi","rxjs","file-io","paypal","discord","cassandra","socket.io","graphics","compiler-errors","gwt","react-router","nlp","solr","backbone.js","url-rewriting","datatables","memory-leaks","datagridview","oauth","drupal","oracle11g","terraform","zend-framework","neural-network","knockout.js","django-forms","triggers","interface","google-api","angular-material","casting","jmeter","linked-list","proxy","path","timer","django-templates","arduino","orm","directory","parse-platform","cron","windows-phone-7","visual-studio-2015","push-notification","conditional-statements","primefaces","functional-programming","pagination","model","jar","xamarin.android","hyperlink","uiview","visual-studio-2013","gitlab","vbscript","google-cloud-functions","azure-active-directory","jwt","download","swift3","sql-server-2005","process","configuration","rspec","properties","pygame","combobox","callback","windows-phone-8","safari","linux-kernel","permissions","scrapy","raspberry-pi","scripting","emacs","clojure","io","scope","x86","compilation","responsive-design","mongodb-query","nhibernate","angularjs-directive","request","expo","bluetooth","3d","dns","binding","reference","azure-functions","discord.js","architecture","playframework","pyqt","version-control","doctrine-orm","package","pycharm","get","sql-server-2012","rubygems","f#","autocomplete","datepicker","openssl","kendo-ui","tree","jackson","controller","yii","nested","xamarin.ios","grep","static","statistics","dockerfile","null","datagrid","transactions","active-directory","uiviewcontroller","phpmyadmin","webforms","discord.py","notifications","computer-vision","sas","duplicates","mocking","youtube","nullpointerexception","yaml","menu","sum","bitmap","electron","asp.net-mvc-5","visual-studio-2008","time-series","yii2","jsf-2","android-listview","css-selectors","stl","floating-point","blazor","cryptography","ant","stream","hashmap","character-encoding","msbuild","sdk","asp.net-core-mvc","google-drive-api","selenium-chromedriver","jboss","joomla","navigation","cors","devise","frontend","anaconda","background","camera","pyqt5","multiprocessing","binary","cuda","linq-to-sql","iterator","mariadb","onclick","ios7","plotly","rabbitmq","android-asynctask","android-jetpack-compose","microsoft-graph-api","tabs","laravel-4","insert","amazon-dynamodb","uicollectionview","environment-variables","linker","console","xsd","coldfusion","upload","continuous-integration","ftp","textview","opengl-es","operating-system","mockito","localization","xml-parsing","vuejs3","macros","formatting","json.net","kivy","type-conversion","data.table","timestamp","calendar","integer","segmentation-fault","android-ndk","drag-and-drop","prolog","char","crash","jasmine","automated-tests","dependencies","geometry","android-gradle-plugin","itext","firebase-cloud-messaging","header","sprite-kit","mfc","fortran","attributes","nosql","nuxt.js","format","nestjs","azure-pipelines","odoo","jquery-plugins","db2","leaflet","jenkins-pipeline","event-handling","postman","flutter-layout","annotations","julia","keyboard","textbox","arm","visual-studio-2017","gulp","libgdx","stripe-payments","xampp","synchronization","crystal-reports","timezone","azure-web-app-service","dom-events","android-emulator","swagger","uikit","wso2","sequelize.js","aggregation-framework","namespaces","uiscrollview","jvm","chart.js","com","google-sheets-formula","subprocess","geolocation","centos","webdriver","html5-canvas","widget","dialog","garbage-collection","numbers","concatenation","snowflake-cloud-data-platform","sql-update","qml","windows-10","set","mapreduce","smtp","tuples","ionic2","java-stream","rotation","modal-dialog","android-edittext","spring-data","http-headers","doctrine","radio-button","nuget","grid","sonarqube","lucene","xmlhttprequest","internationalization","listbox","components","initialization","switch-statement","google-play","boolean","apache-camel","serial-port","ldap","ios5","youtube-api","return","gdb","pivot","latex","eclipse-plugin","frameworks","tags","containers","dataset","github-actions","asp-classic","foreign-keys","subquery","label","copy","uinavigationcontroller","google-cloud-storage","delegates","c++17","struts2","migration","base64","protractor","sql-server-2008-r2","queue","find","uibutton","embedded","arguments","append","composer-php","jaxb","zip","stack","cucumber","autolayout","ide","popup","entity-framework-6","iteration","windows-7","airflow","r-markdown","ssl-certificate","vb6","gmail","jqgrid","hover","udp","g++","tailwind-css"],"TriggerEvent":"homepageWizardShow","OauthInPopup":true,"ReturnUrl":"https://stackoverflow.com","ReturnUrlForPopup":"https://stackoverflow.com/users/after-signup/oauth-only","ThemePreferenceFlags":0}</script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/svelte.en.js?v=ac1681a633a2"></script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/stacks-svelte.en.js?v=585200d05e44"></script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/2784.en.js?v=414ac3934ec2"></script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/8901.en.js?v=9ff34567d3a5"></script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/6719.en.js?v=5cd743a95ced"></script><script defer src="https://cdn.sstatic.net/Js/islands/homepage-wizard.en.js?v=1dc402690a54"></script> <div id="left-sidebar" data-is-here-when="md lg" class="left-sidebar js-pinned-left-sidebar ps-relative"> <div class="left-sidebar--sticky-container js-sticky-leftnav"> <nav aria-label="Primary"> <ol class="nav-links"> <li> <ol class="nav-links"> <li class="ps-relative" aria-current="false"> <a href="/" class="s-block-link pl8 js-homepage-wizard-link js-gps-track nav-links--link -link__with-icon" data-gps-track="top_nav.click({is_current: false, location:5, destination:8, has_activity_notification:False});home_nav.click({location:5})" aria-controls="" data-controller=" " data-s-popover-placement="right" aria-current="false" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never" > <div class="d-flex ai-center"> <svg aria-hidden="true" class="svg-icon iconHome" width="18" height="18" viewBox="0 0 18 18"><path d="M15 10v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-5H0l9-9 9 9zm-8 1v6h4v-6z"/></svg> <span class="-link--channel-name pl6">Home</span> </div> </a> </li> <li class="ps-relative youarehere" aria-current="true"> <a id="nav-questions" href="/questions" class="s-block-link pl8 js-gps-track nav-links--link -link__with-icon" data-gps-track="top_nav.click({is_current: true, location:5, destination:1, has_activity_notification:False})" aria-controls="" data-controller=" " data-s-popover-placement="right" aria-current="false" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never" > <div class="d-flex ai-center"> <svg aria-hidden="true" class="svg-icon iconQuestion" width="18" height="18" viewBox="0 0 18 18"><path d="m4 15-3 3V4c0-1.1.9-2 2-2h12c1.09 0 2 .91 2 2v9c0 1.09-.91 2-2 2zm7.75-3.97c.72-.83.98-1.86.98-2.94 0-1.65-.7-3.22-2.3-3.83a4.4 4.4 0 0 0-3.02 0 3.8 3.8 0 0 0-2.32 3.83q0 1.93 1.03 3a3.8 3.8 0 0 0 2.85 1.07q.94 0 1.71-.34.97.66 1.06.7.34.2.7.3l.59-1.13a5 5 0 0 1-1.28-.66m-1.27-.9a5 5 0 0 0-1.5-.8l-.45.9q.5.18.98.5-.3.1-.65.11-.92 0-1.52-.68c-.86-1-.86-3.12 0-4.11.8-.9 2.35-.9 3.15 0 .9 1.01.86 3.03-.01 4.08"/></svg> <span class="-link--channel-name pl6">Questions</span> </div> </a> </li> <li class="ps-relative" aria-current="false"> <a href="/tags" class="s-block-link pl8 js-gps-track nav-links--link -link__with-icon" data-gps-track="top_nav.click({is_current: false, location:5, destination:2, has_activity_notification:False})" aria-controls="" data-controller=" " data-s-popover-placement="right" aria-current="false" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never" > <div class="d-flex ai-center"> <svg aria-hidden="true" class="svg-icon iconTags" width="18" height="18" viewBox="0 0 18 18"><path d="M9.24 1a3 3 0 0 0-2.12.88l-5.7 5.7a2 2 0 0 0-.38 2.31 3 3 0 0 1 .67-1.01l6-6A3 3 0 0 1 9.83 2H14a3 3 0 0 1 .79.1A2 2 0 0 0 13 1z" opacity=".4"/><path d="M9.83 3a2 2 0 0 0-1.42.59l-6 6a2 2 0 0 0 0 2.82L6.6 16.6a2 2 0 0 0 2.82 0l6-6A2 2 0 0 0 16 9.17V5a2 2 0 0 0-2-2zM12 9a2 2 0 1 1 0-4 2 2 0 0 1 0 4"/></svg> <span class="-link--channel-name pl6">Tags</span> </div> </a> </li> <li class="pb24"></li> <li class="ps-relative" aria-current="false"> <a id="nav-users" href="/users" class="s-block-link pl8 js-gps-track nav-links--link -link__with-icon" data-gps-track="top_nav.click({is_current: false, location:5, destination:3, has_activity_notification:False})" aria-controls="" data-controller=" " data-s-popover-placement="right" aria-current="false" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never" > <div class="d-flex ai-center"> <svg aria-hidden="true" class="svg-icon iconPeople" width="18" height="18" viewBox="0 0 18 18"><path d="M17 14c0 .44-.45 1-1 1H9a1 1 0 0 1-1-1H2c-.54 0-1-.56-1-1 0-2.63 3-4 3-4s.23-.4 0-1c-.84-.62-1.06-.59-1-3s1.37-3 2.5-3 2.44.58 2.5 3-.16 2.38-1 3c-.23.59 0 1 0 1s1.55.71 2.42 2.09c.78-.72 1.58-1.1 1.58-1.1s.23-.4 0-1c-.84-.61-1.06-.58-1-3s1.37-3 2.5-3 2.44.59 2.5 3c.05 2.42-.16 2.39-1 3-.23.6 0 1 0 1s3 1.38 3 4"/></svg> <span class="-link--channel-name pl6">Users</span> </div> </a> </li> <li class="ps-relative" aria-current="false"> <a id="nav-companies" href="https://stackoverflow.com/jobs/companies?so_medium=stackoverflow&amp;so_source=SiteNav" class="s-block-link pl8 js-gps-track nav-links--link -link__with-icon" data-gps-track="top_nav.click({is_current: false, location:5, destination:12, has_activity_notification:False})" aria-controls="" data-controller=" " data-s-popover-placement="right" aria-current="false" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never" > <div class="d-flex ai-center"> <svg aria-hidden="true" class="svg-icon iconIndustry" width="18" height="18" viewBox="0 0 18 18"><path d="M10 16v-4H8v4H2V4c0-1.1.9-2 2-2h6c1.09 0 2 .91 2 2v2h2c1.09 0 2 .91 2 2v8zM4 4v2h2V4zm0 4v2h2V8zm4-4v2h2V4zm0 4v2h2V8zm-4 4v2h2v-2zm8 0v2h2v-2zm0-4v2h2V8z"/></svg> <span class="-link--channel-name pl6">Companies</span> </div> </a> </li> <li class="ml8 mt32 mb8"> <a href="javascript:void(0)" class="s-link s-link d-flex fl-grow1 fc-black-400 h:fc-black-600 fs-fine" role="button" aria-controls="popover-labs-left-nav" data-controller="s-popover" data-action="s-popover#toggle" data-s-popover-placement="top" data-s-popover-toggle-class="is-selected" > <div class="flex--item fl-grow1 tt-uppercase fc-black-600 fw-bold">Labs</div> <div class="flex--item px12"> <svg aria-hidden="true" class="svg-icon iconInfoSm" width="14" height="14" viewBox="0 0 14 14"><path d="M7 1a6 6 0 1 1 0 12A6 6 0 0 1 7 1m1 10V6H6v5zm0-6V3H6v2z"/></svg> </div> </a> </li> <li class="ps-relative" aria-current="false"> <a id="nav-labs-discussions" href="/beta/discussions" class="s-block-link pl8 ai-center js-gps-track nav-links--link -link__with-icon" data-gps-track="top_nav.click({is_current: false, location:5, destination:24, has_activity_notification:False})" aria-controls="" data-controller=" " data-s-popover-placement="right" aria-current="false" data-s-popover-auto-show="true" data-s-popover-hide-on-outside-click="never" > <div class="d-flex ai-center"> <svg aria-hidden="true" class="w16 svg-icon iconMessage" width="18" height="18" viewBox="0 0 18 18"><path d="M5 7a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H6a1 1 0 0 1-1-1m1 2a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2zm-5 9V4c0-1.1.9-2 2-2h12c1.09 0 2 .91 2 2v9c0 1.09-.91 2-2 2H4.5zm2.76-5h11.23v-.01H15V4H3v9.65z"/></svg> <span class="-link--channel-name pl6">Discussions</span> </div> </a> </li> <li class="ml8 mt32 mb4"> <div class="d-flex jc-space-between ai-center"> <a class="s-link d-flex fl-grow1 fc-black-400 h:fc-black-600 fs-fine" href="javascript:void(0)" role="button" aria-controls="popover-discover-collectives" data-controller="s-popover" data-action="s-popover#toggle" data-s-popover-placement="top" data-s-popover-toggle-class="is-selected" data-gps-track="top_nav.click({is_current:false, location:5, destination:17})" > <div class="flex--item fl-grow1 tt-uppercase fc-black-600 fw-bold">Collectives</div> <div class="flex--item px12 js-collectives-navcta-toggle"> <svg aria-hidden="true" class="svg-icon iconPlusSm" width="14" height="14" viewBox="0 0 14 14"><path d="M8 2H6v4H2v2h4v4h2V8h4V6H8z"/></svg> </div> </a> </div> </li> <li class="ps-relative js-collectives-navcta-toggle"> <p class="fs-fine pr8 pl8 pt4 fc-black-400"> Communities for your favorite technologies. <a href="/collectives-all" class="s-link s-link__grayscale s-link__underlined fw-bold">Explore all Collectives</a> </p> </li> </ol> </li> <li class="js-freemium-cta ps-relative mt32 mb8"> <div class="fs-fine tt-uppercase fc-black-600 fw-bold ml8 mt16 mb8">Teams</div> <div class="px12 pt12 pb4 mb12 fc-medium overflow-hidden"> <img class="wmx100 mx-auto mb12 h-auto d-block" width="151" height="24" src="https://cdn.sstatic.net/Img/teams/teams-promo.svg?v=e507948b81bf" alt=""> <p class="fs-fine"> Ask questions, find answers and collaborate at work with Stack Overflow for Teams. </p> <a href="https://stackoverflowteams.com/teams/create/free/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams" class="w100 s-btn s-btn__filled s-btn__xs bg-orange-400 h:bg-orange-500 js-gps-track pt8 pr7 pb6 pl7" data-gps-track="teams.create.left-sidenav.click({ Action: 6 })" data-ga="[&quot;teams left navigation - anonymous&quot;,&quot;left nav free cta&quot;,&quot;stackoverflow.com/teams/create/free&quot;,null,null]">Try Teams for free</a> <a href="https://stackoverflow.co/teams/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams" class="w100 s-btn s-btn__muted s-btn__xs mt1 js-gps-track" data-gps-track="teams.create.left-sidenav.click({ Action: 5 })" data-ga="[&quot;teams left navigation - anonymous&quot;,&quot;left nav free cta&quot;,&quot;stackoverflow.com/teams&quot;,null,null]">Explore Teams</a> </div> </li> <li class="d-flex ai-center jc-space-between ml8 mt32 mb8 js-create-team-cta d-none"> <a href="javascript:void(0)" class="s-link d-flex fl-grow1 fc-black-400 h:fc-black-600 fs-fine js-gps-track" role="button" aria-controls="popover-teams-create-cta" data-controller="s-popover" data-action="s-popover#toggle" data-s-popover-placement="bottom-start" data-s-popover-toggle-class="is-selected" data-gps-track="teams.create.left-sidenav.click({ Action: ShowInfo })" data-ga="[&quot;teams left navigation - anonymous&quot;,&quot;left nav show teams info&quot;,null,null,null]" > <div class="flex--item fl-grow1 fc-black-600 fw-bold tt-uppercase">Teams</div> <div class="flex--item px12"> <svg aria-hidden="true" class="svg-icon iconPlusSm" width="14" height="14" viewBox="0 0 14 14"><path d="M8 2H6v4H2v2h4v4h2V8h4V6H8z"/></svg> </div> </a> </li> <li class="ps-relative js-create-team-cta d-none"> <p class="fs-fine pr8 pl8 pb4 fc-black-400"> Ask questions, find answers and collaborate at work with Stack Overflow for Teams. <a href="https://stackoverflow.co/teams/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=side-bar&utm_content=explore-teams-compact" class="s-link s-link__grayscale s-link__underlined fw-bold">Explore Teams</a> </p> </li> </ol> </nav> </div> <div class="s-popover ws2" id="popover-discover-collectives" role="menu"> <div class="s-popover--arrow"></div> <div> <svg aria-hidden="true" class="fc-orange-400 float-right ml24 svg-spot spotCollective" width="48" height="48" viewBox="0 0 48 48"><path d="M25.5 7a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5M14 18.25c0-.69.56-1.25 1.25-1.25h22.5c.69 0 1.25.56 1.25 1.25V37.5a1 1 0 0 1-1.6.8l-4.07-3.05a1.3 1.3 0 0 0-.75-.25H15.25c-.69 0-1.25-.56-1.25-1.25zM7 24.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0M25.5 48a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5M48 24.5a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0" opacity=".2"/><path d="M21 3.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0M24.5 2a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M0 23.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0M3.5 22a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3M21 44.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0m3.5-1.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3m20-23a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7M43 23.5a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0m-23.23-3.14a1 1 0 0 1-.13 1.4l-2.08 1.74 2.08 1.73a1 1 0 1 1-1.28 1.54l-2.42-2.02a1.63 1.63 0 0 1 0-2.5l2.42-2.02a1 1 0 0 1 1.4.13m7.6 1.41a1 1 0 1 1 1.28-1.54l2.42 2.02c.78.65.78 1.85 0 2.5l-2.42 2.02a1 1 0 1 1-1.28-1.54l2.08-1.73zM24.12 18a1 1 0 0 1 .87 1.12l-1 8a1 1 0 1 1-1.98-.24l1-8a1 1 0 0 1 1.11-.87M12.25 13C11.01 13 10 14 10 15.25v15.5c0 1.24 1 2.25 2.25 2.25h17.33q.09 0 .15.05l4.07 3.05a2 2 0 0 0 3.2-1.6V15.25c0-1.24-1-2.25-2.25-2.25zM12 15.25q.02-.23.25-.25h22.5q.23.02.25.25V34.5l-4.07-3.05q-.6-.45-1.35-.45H12.25a.25.25 0 0 1-.25-.25zm7.24-10.68a1 1 0 1 0-.48-1.94A22 22 0 0 0 2.91 17.7a1 1 0 1 0 1.92.58 20 20 0 0 1 14.4-13.72m11.06-1.65a1 1 0 0 0-.58 1.92c6.45 1.92 11.54 7 13.46 13.46a1 1 0 1 0 1.92-.58 22 22 0 0 0-14.8-14.8M4.57 28.76a1 1 0 0 0-1.94.48 22 22 0 0 0 16.13 16.13 1 1 0 1 0 .48-1.94A20 20 0 0 1 4.57 28.76m40.8.48a1 1 0 1 0-1.94-.48 20 20 0 0 1-13.72 14.41 1 1 0 0 0 .58 1.92 22 22 0 0 0 15.08-15.85"/></svg> <h5 class="pt4 fw-bold">Collectives™ on Stack Overflow</h5> <p class="my16 fs-caption fc-black-500">Find centralized, trusted content and collaborate around the technologies you use most.</p> <a href="/collectives" class="js-gps-track s-btn s-btn__filled s-btn__xs" data-gps-track="top_nav.click({is_current:false, location:5, destination:18})"> Learn more about Collectives </a> </div> </div> <div class="s-popover ws2" id="popover-teams-create-cta" role="menu" aria-hidden="true"> <div class="s-popover--arrow"></div> <div class="ps-relative overflow-hidden"> <p class="mb2"><strong>Teams</strong></p> <p class="mb12 fs-caption fc-black-400">Q&amp;A for work</p> <p class="mb12 fs-caption fc-black-500">Connect and share knowledge within a single location that is structured and easy to search.</p> <a href="https://stackoverflow.co/teams/" class="js-gps-track s-btn s-btn__filled s-btn__xs" data-gps-track="teams.create.left-sidenav.click({ Action: CtaClick })" data-ga="[&quot;teams left navigation - anonymous&quot;,&quot;left nav cta&quot;,&quot;stackoverflow.com/teams&quot;,null,null]"> Learn more about Teams </a> </div> <div class="ps-absolute t8 r8"> <svg aria-hidden="true" class="fc-orange-400 svg-spot spotPeople" width="48" height="48" viewBox="0 0 48 48"><path d="M13.5 28a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9M7 30a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v5h11v-5a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v10a2 2 0 0 1-2 2H33v5a1 1 0 0 1-1 1H20a1 1 0 0 1-1-1v-5H8a1 1 0 0 1-1-1zm25-6.5a4.5 4.5 0 1 0 9 0 4.5 4.5 0 0 0-9 0M24.5 34a4.5 4.5 0 1 0 0-9 4.5 4.5 0 0 0 0 9" opacity=".2"/><path d="M16.4 26.08A6 6 0 1 0 7.53 26C5.64 26.06 4 27.52 4 29.45V40a1 1 0 0 0 1 1h9a1 1 0 1 0 0-2h-4v-7a1 1 0 1 0-2 0v7H6v-9.55c0-.73.67-1.45 1.64-1.45H16a1 1 0 0 0 .4-1.92M12 18a4 4 0 1 1 0 8 4 4 0 0 1 0-8m16.47 14a6 6 0 1 0-8.94 0A3.6 3.6 0 0 0 16 35.5V46a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1V35.5c0-1.94-1.64-3.42-3.53-3.5M20 28a4 4 0 1 1 8 0 4 4 0 0 1-8 0m-.3 6h8.6c1 0 1.7.75 1.7 1.5V45h-2v-7a1 1 0 1 0-2 0v7h-4v-7a1 1 0 1 0-2 0v7h-2v-9.5c0-.75.7-1.5 1.7-1.5M42 22c0 1.54-.58 2.94-1.53 4A3.5 3.5 0 0 1 44 29.45V40a1 1 0 0 1-1 1h-9a1 1 0 1 1 0-2h4v-7a1 1 0 1 1 2 0v7h2v-9.55A1.5 1.5 0 0 0 40.48 28H32a1 1 0 0 1-.4-1.92A6 6 0 1 1 42 22m-2 0a4 4 0 1 0-8 0 4 4 0 0 0 8 0"/><g opacity=".35"><path d="M17 10a1 1 0 011-1h12a1 1 0 110 2H18a1 1 0 01-1-1m1-5a1 1 0 100 2h12a1 1 0 100-2zM14 1a1 1 0 00-1 1v12a1 1 0 001 1h5.09l4.2 4.2a1 1 0 001.46-.04l3.7-4.16H34a1 1 0 001-1V2a1 1 0 00-1-1zm1 12V3h18v10h-5a1 1 0 00-.75.34l-3.3 3.7-3.74-3.75a1 1 0 00-.71-.29z"/></g></svg> </div> </div> <div class="s-popover ws2" id="popover-labs-left-nav" role="menu" aria-hidden="true"> <div class="s-popover--arrow"></div> <svg aria-hidden="true" class="fc-black-600 mb8 svg-icon iconLabsAltSm" width="42" height="18" viewBox="0 0 42 18"><path fill="var(--black-600)" d="M11.5 13.62c0 .21-.17.38-.37.38H5.36a.37.37 0 0 1-.37-.38V4.38c0-.21.17-.38.37-.38h1.26c.2 0 .37.17.37.38v7.6h4.14c.2 0 .37.18.37.38zm9.43.22a.4.4 0 0 1-.3.16h-1.5q-.25-.01-.36-.25l-.55-1.7h-3.1l-.56 1.7a.4.4 0 0 1-.35.25h-1.5a.38.38 0 0 1-.35-.5l3.39-9.25c.05-.15.2-.25.35-.25h1.13q.26.01.36.25l3.39 9.24q.06.19-.05.35m-4.16-7.39-1.21 3.53h2.26zm13.34 5.71a.37.37 0 0 0 0 .53A4.5 4.5 0 0 0 33.59 14c1.02 0 1.92-.27 2.58-.79a2.8 2.8 0 0 0 1.07-2.25c0-.86-.27-1.62-.87-2.15-.46-.4-1-.63-1.89-.76l-1.04-.16a2 2 0 0 1-.83-.33q-.22-.19-.22-.57 0-.46.3-.73c.2-.18.53-.32 1-.32.7 0 1.25.15 1.72.6.14.14.37.14.52 0l.88-.87a.37.37 0 0 0-.01-.53A4.2 4.2 0 0 0 33.72 4c-1.01 0-1.87.3-2.48.84a3 3 0 0 0-.93 2.2q-.02 1.24.78 2.01.72.66 1.93.83l1.07.15c.5.07.65.15.8.29q.23.2.24.67-.01.5-.35.73-.34.29-1.16.3c-.87 0-1.49-.19-2.07-.76a.37.37 0 0 0-.52 0zM22.37 14a.37.37 0 0 1-.37-.38V4.38c0-.21.17-.38.37-.38h3.54q1.4 0 2.26.78c.56.52.86 1.26.86 2.13 0 .84-.37 1.52-.87 1.95A2.6 2.6 0 0 1 29.17 11q0 1.42-.9 2.23c-.56.51-1.34.76-2.22.76zm3.54-1.98c.96 0 .96-1 .96-1s0-1.02-.96-1.02H24v2.02zm-.11-4.06c1.07 0 1.07-1.02 1.07-1.02s0-1.01-1.07-1.01H24v2.03zM0 4v10a4 4 0 0 0 4 4h34a4 4 0 0 0 4-4V4a4 4 0 0 0-4-4H4a4 4 0 0 0-4 4m4-2h34a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4c0-1.1.9-2 2-2"/></svg> <p class="fs-caption">Get early access and see previews of new features.</p> <a class="s-btn s-btn__filled s-btn__xs s-btn__icon fs-fine" href="https://stackoverflow.co/labs/"><svg aria-hidden="true" class="svg-icon iconShareSm" width="14" height="14" viewBox="0 0 14 14"><path d="M5 1H3a2 2 0 0 0-2 2v8c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V9h-2v2H3V3h2zm2 0h6v6h-2V4.5L6.5 9 5 7.5 9.5 3H7z"/></svg> Learn more about Labs</a> </div> </div> <div id="content" class="snippet-hidden"> <div id="mainbar"> <div id="tag-headline-container" class="mb24"></div> <script type="application/json" data-role="module-args" data-module-name="islands/tag-page-headline/index.mod">{"ContainerElementId":"tag-headline-container","TagName":"google-identity","TagDescription":"The Google Identity Platform consists of identity tools from Google to help you quickly build an authentication system for reducing the friction of getting users into your app.","TagSponsorshipAd":" \u003cstyle\u003e\n \u003c/style\u003e\n\u003cdiv class=\u0022js-zone-container zone-container-main\u0022\u003e\n \u003cdiv id=\u0022dfp-tag\u0022 class=\u0022everyonelovesstackoverflow everyoneloves__tag-sponsorship theme-light__forced bg-white\u0022\u003e\u003c/div\u003e\n\t\t\u003cdiv class=\u0022js-report-ad-button-container \u0022 style=\u0022width: 728px\u0022\u003e\u003c/div\u003e\n\u003c/div\u003e\n","ForAnonymousUser":true,"IsFollowingTag":false,"Fkey":"b39cb1a761f93912de068f8e6267ee5702b7d597a570755c5112354b099addd4"}</script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/svelte.en.js?v=ac1681a633a2"></script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/stacks-svelte.en.js?v=585200d05e44"></script><script defer src="https://cdn.sstatic.net/Js/webpack-chunks/2784.en.js?v=414ac3934ec2"></script><script defer src="https://cdn.sstatic.net/Js/islands/tag-page-headline.en.js?v=ed0fc6e897d0"></script> <script type="application/json" data-role="module-args" data-module-name="entry-points/questions/userQuestionList.mod">{"regularTagsString":"","moderatorTagsString":""}</script> <script defer src="https://cdn.sstatic.net/Js/questions/userQuestionList.en.js?v=59a1562d4b98"></script> <div data-controller="se-uql" data-se-uql-id="" data-se-uql-sanitize-tag-query="false"> <div class="d-flex ai-center jc-space-between mb12 sm:fd-column sm:ai-stretch"> <div class="fs-body3 flex--item fl1 mr12 sm:mr0 sm:mb12"> 514 questions </div> <div class="uql-nav flex--item" data-action="se-uql-list:edit-current-requested@document->se-uql#toggleEditor"> <div class="d-flex ai-center jc-space-between"> <div class="s-btn-group flex--item mr16 ff-row-nowrap js-uql-navigation"> <a class="s-btn s-btn__muted s-btn__sm is-selected js-gps-track" href="/questions/tagged/google-identity?tab=Newest" aria-current="page" data-nav-value="Newest" data-gps-track="question.list.sort.clicked({ SortBy: 'Newest' })" data-shortcut="N"> <span class="s-btn--text" data-text="Newest">Newest</span> </a> <a class="s-btn s-btn__muted s-btn__sm js-gps-track" href="/questions/tagged/google-identity?tab=Active" data-nav-value="Active" data-gps-track="question.list.sort.clicked({ SortBy: 'Active' })" data-shortcut="A"> <span class="s-btn--text" data-text="Active">Active</span> </a> <a class="s-btn s-btn__muted s-btn__sm uql-nav--expanded-item js-gps-track" href="/questions/tagged/google-identity?tab=Bounties" data-nav-value="Bounties" data-gps-track="question.list.sort.clicked({ SortBy: 'Bountied' })" data-shortcut="E"> <span class="s-btn--text" data-text="Bountied">Bountied</span> </a> <a class="s-btn s-btn__muted s-btn__sm uql-nav--expanded-item js-gps-track" href="/questions/tagged/google-identity?tab=Unanswered" data-nav-value="Unanswered" data-gps-track="question.list.sort.clicked({ SortBy: 'Unanswered' })" data-shortcut="U"> <span class="s-btn--text" data-text="Unanswered">Unanswered</span> </a> <button class="s-btn s-btn__muted s-btn__sm s-btn__dropdown" type="button" data-controller="s-popover" data-action="s-popover#toggle" data-se-uql-target="toggleMoreButton" aria-haspopup="true" aria-expanded="false" aria-controls="uql-more-popover"> <span class="s-btn--text" data-text="More">More</span> </button> </div> <div class="s-popover z-dropdown ws2 px0 py4" id="uql-more-popover" data-se-uql-target="morePopover"> <div class="s-popover--arrow"></div> <ul class="s-menu js-uql-navigation" role="menu"> <li class=" uql-nav--collapsed-item" role="menuitem"> <a href="/questions/tagged/google-identity?tab=Bounties" class="s-block-link s-block-link__left js-gps-track" data-shortcut="" data-gps-track="question.list.sort.clicked({ SortBy: 'Bountied' })"> Bountied <span class="s-badge s-badge__bounty s-badge__bounty s-badge__sm lh-xs px4">0</span> </a> </li> <li class=" uql-nav--collapsed-item" role="menuitem"> <a href="/questions/tagged/google-identity?tab=Unanswered" class="s-block-link s-block-link__left js-gps-track" data-shortcut="" data-gps-track="question.list.sort.clicked({ SortBy: 'Unanswered' })"> Unanswered </a> </li> <li role="menuitem"> <a href="/questions/tagged/google-identity?tab=Frequent" class="s-block-link s-block-link__left js-gps-track" data-shortcut="F" data-gps-track="question.list.sort.clicked({ SortBy: 'Frequent' })"> Frequent </a> </li> <li role="menuitem"> <a href="/questions/tagged/google-identity?tab=Votes" class="s-block-link s-block-link__left js-gps-track" data-shortcut="V" data-gps-track="question.list.sort.clicked({ SortBy: 'Score' })"> Score </a> </li> <li role="menuitem"> <a href="/questions/tagged/google-identity?tab=Trending" class="s-block-link s-block-link__left js-gps-track" data-shortcut="H" data-gps-track="question.list.sort.clicked({ SortBy: 'Trending' })"> Trending </a> </li> <li role="menuitem"> <a href="/questions/tagged/google-identity?tab=Week" class="s-block-link s-block-link__left js-gps-track" data-shortcut="W" data-gps-track="question.list.sort.clicked({ SortBy: 'Week' })"> Week </a> </li> <li role="menuitem"> <a href="/questions/tagged/google-identity?tab=Month" class="s-block-link s-block-link__left js-gps-track" data-shortcut="M" data-gps-track="question.list.sort.clicked({ SortBy: 'Month' })"> Month </a> </li> <li class="s-menu--divider" role="separator"></li> <li role="menuitem"> <span class="s-block-link c-default fc-black-350 js-gps-track" data-gps-track="question.list.sort.clicked({ SortBy: 'Unanswered (my tags)' })"> Unanswered (my tags) </span> </li> </ul> </div> <div class="flex--item"> <button class="s-btn s-btn__outlined s-btn__sm s-btn__icon ws-nowrap" role="button" data-controller="s-expandable-control" data-s-expandable-control-toggle-class="is-selected" data-se-uql-target="toggleFormButton" aria-expanded="false" aria-controls="uql-form"> <svg aria-hidden="true" class="svg-icon iconFilter" width="18" height="18" viewBox="0 0 18 18"><path d="M2 4h14v2H2zm2 4h10v2H4zm8 4H6v2h6z"/></svg> Filter </button> </div> </div> </div> </div> <form class="s-expandable ps-relative z-active" id="uql-form" data-se-uql-target="form" data-action="se-uql#navigate"> <input name="uqlId" type="hidden"/> <div class="s-expandable--content"> <div class="bg-black-150 ba bc-black-225 bar-sm mb16"> <div class="px12 py16"> <div class="d-flex gs32 fw-wrap"> <div class="flex--item"> <fieldset class="d-flex gs8 gsy fd-column"> <legend class="flex--item s-label px0">Filter by</legend> <div class="flex--item"> <div class="d-flex gs4 gsx ai-center"> <div class="flex--item"> <input class="s-checkbox d-block" type="checkbox" name="filterId" value="NoAnswers" id="418a2b3d-9768-42ff-8e68-ed7b239f7c18" /> </div> <label class="flex--item s-label fw-normal ws-nowrap" for="418a2b3d-9768-42ff-8e68-ed7b239f7c18" id="74c9e854-0c2c-44f2-9f38-859d91638cee">No answers</label> </div> </div> <div class="flex--item"> <div class="d-flex gs4 gsx ai-center"> <div class="flex--item"> <input class="s-checkbox d-block" type="checkbox" name="filterId" value="NoAcceptedAnswer" id="50fb52b7-a7ef-49da-8290-be36b8c3ce03" /> </div> <label class="flex--item s-label fw-normal ws-nowrap" for="50fb52b7-a7ef-49da-8290-be36b8c3ce03" id="ed7b1991-401e-4de5-bf4d-b0daadd1ac6d">No accepted answer</label> </div> </div> <div class="flex--item"> <div class="d-flex gs4 gsx ai-center"> <div class="flex--item"> <input class="s-checkbox d-block" type="checkbox" name="filterId" value="Bounty" id="c63ea828-b36e-4eb0-b909-a08becbf0240" /> </div> <label class="flex--item s-label fw-normal ws-nowrap" for="c63ea828-b36e-4eb0-b909-a08becbf0240" id="c71f8723-095c-4f8d-bb14-de5d1e544f47">Has bounty</label> </div> </div> <div class="flex--item"> <div class="d-flex gs4 gsx ai-center"> <div class="flex--item"> <input class="s-number d-block w64" type="number" name="days" value="" min="1" id="d0f7df0f-309f-4c52-901a-d7a450a0f153" /> </div> <label class="flex--item s-label fw-normal ws-nowrap" for="d0f7df0f-309f-4c52-901a-d7a450a0f153" id="2cb845ac-004a-4269-b93d-153dde0175d2">Days old</label> </div> </div> </fieldset> </div> <div class="flex--item"> <fieldset class="d-flex gs8 gsy fd-column"> <legend class="flex--item s-label px0">Sorted by</legend> <div class="flex--item"> <div class="d-flex gs4 gsx ai-center"> <div class="flex--item"> <input class="s-radio d-block" type="radio" name="sortId" value="Newest" checked="checked" id="2e374faa-04f2-477e-820e-3cdddb1762f7" /> </div> <label class="flex--item s-label fw-normal ws-nowrap" for="2e374faa-04f2-477e-820e-3cdddb1762f7" id="7ebd49a1-cde4-457d-8177-a5f96ed1863a">Newest</label> </div> </div> <div class="flex--item"> <div class="d-flex gs4 gsx ai-center"> <div class="flex--item"> <input class="s-radio d-block" type="radio" name="sortId" value="RecentActivity" id="fe7b0476-0dfb-4a6d-b1c9-3ca4a01c73c6" /> </div> <label class="flex--item s-label fw-normal ws-nowrap" for="fe7b0476-0dfb-4a6d-b1c9-3ca4a01c73c6" id="89c305a3-a21f-4906-ba61-5c494ea7d797">Recent activity</label> </div> </div> <div class="flex--item"> <div class="d-flex gs4 gsx ai-center"> <div class="flex--item"> <input class="s-radio d-block" type="radio" name="sortId" value="MostVotes" id="0baf6266-417c-4a4a-a359-7ce3cb34db8c" /> </div> <label class="flex--item s-label fw-normal ws-nowrap" for="0baf6266-417c-4a4a-a359-7ce3cb34db8c" id="4e65a40e-3210-46ac-94f8-60e1e63678f3">Highest score</label> </div> </div> <div class="flex--item"> <div class="d-flex gs4 gsx ai-center"> <div class="flex--item"> <input class="s-radio d-block" type="radio" name="sortId" value="MostFrequent" id="8261c762-8f02-4cda-88a0-aaf4732ee942" /> </div> <label class="flex--item s-label fw-normal ws-nowrap" for="8261c762-8f02-4cda-88a0-aaf4732ee942" id="2cc08a41-2980-4314-965b-9e888bccc646">Most frequent</label> </div> </div> <div class="flex--item"> <div class="d-flex gs4 gsx ai-center"> <div class="flex--item"> <input class="s-radio d-block" type="radio" name="sortId" value="BountyEndingSoon" id="687ab1c7-a7a7-4812-8b3d-8d8f6b0e0320" /> </div> <label class="flex--item s-label fw-normal ws-nowrap" for="687ab1c7-a7a7-4812-8b3d-8d8f6b0e0320" id="cd521225-a19f-4c2b-be90-88efbb9671a7">Bounty ending soon</label> </div> </div> <div class="flex--item"> <div class="d-flex gs4 gsx ai-center"> <div class="flex--item"> <input class="s-radio d-block" type="radio" name="sortId" value="Hot" id="64a0e1ae-169e-4927-a47e-a2395f41b521" /> </div> <label class="flex--item s-label fw-normal ws-nowrap" for="64a0e1ae-169e-4927-a47e-a2395f41b521" id="b205f995-0d4d-43eb-8512-a5c0bb6a96e7">Trending</label> </div> </div> <div class="flex--item"> <div class="d-flex gs4 gsx ai-center"> <div class="flex--item"> <input class="s-radio d-block" type="radio" name="sortId" value="HotNoTime" id="26d6e19d-9692-4a4b-9b52-876398c8638f" /> </div> <label class="flex--item s-label fw-normal ws-nowrap" for="26d6e19d-9692-4a4b-9b52-876398c8638f" id="a3cd42c4-25f9-43e3-8911-b7793b878945">Most activity</label> </div> </div> </fieldset> </div> <div class="flex--item"> <fieldset class="d-flex gs8 gsy fd-column"> <legend class="flex--item s-label px0">Tagged with</legend> <div class="flex--item"> <div class="d-flex gs4 gsx ai-center"> <div class="flex--item"> <input class="s-radio d-block" type="radio" name="tagModeId" value="Watched" id="570ca98c-fc88-43bf-956c-ee28728f08db" /> </div> <label class="flex--item s-label fw-normal ws-nowrap" for="570ca98c-fc88-43bf-956c-ee28728f08db" id="7f946b47-9dba-4be9-89f8-0cb6e515fe5c">My watched tags</label> </div> </div> <div class="flex--item"> <div class="d-flex gs4 gsx ai-center"> <div class="flex--item"> <input class="s-radio d-block" type="radio" name="tagModeId" value="Specified" checked="checked" id="a10fcddf-1ae3-47d9-b202-1f7dbca199c4" /> </div> <label class="flex--item s-label fw-normal ws-nowrap" for="a10fcddf-1ae3-47d9-b202-1f7dbca199c4" id="4f14eddc-7bb2-4356-bf8f-6b72564bd1eb">The following tags:</label> </div> </div> </fieldset> <div class="ps-relative ml24 mt8 ws2"> <input id="uql-modal-tag-input" class="w100 s-input" name="tagQuery" data-se-uql-target="tagQuery" type="text" size="60" tabindex="0" aria-labelledby="4f14eddc-7bb2-4356-bf8f-6b72564bd1eb" placeholder="e.g. javascript or python" value="google-identity"> </div> </div> </div> </div> <div class="p12 bt bc-black-225"> <div class="d-flex"> <div class="d-flex gs4 gsx fl1"> <button class="s-btn s-btn__sm s-btn__filled flex--item js-gps-track" type="submit" data-se-uql-target="applyButton" data-gps-track="question.list.apply_filter.clicked">Apply filter</button> </div> <div class="flex--item"> <button class="s-btn s-btn__sm" data-action="se-uql#cancelEditor" type="button">Cancel</button> </div> </div> </div> </div> </div> </form> </div> <div id="questions" class=" flush-left"> <div id="question-summary-79418045" class="s-post-summary js-post-summary" data-post-id="79418045" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 0"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">votes</span> </div> <div class="s-post-summary--stats-item has-answers " title="2 answers"> <span class="s-post-summary--stats-item-number">2</span> <span class="s-post-summary--stats-item-unit">answers</span> </div> <div class="s-post-summary--stats-item " title="55 views"> <span class="s-post-summary--stats-item-number">55</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79418045/unable-to-retrieve-gender-and-birthday-from-google-identity-provider-in-keycloak" class="s-link">Unable to Retrieve gender and birthday from Google Identity Provider in Keycloak</a> </h3> <div class="s-post-summary--content-excerpt"> I'm using Keycloak with Google as an Identity Provider. While I can successfully retrieve the user's name, email, and profile picture, I am unable to fetch the gender and birthday attributes. What I’... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-google-cloud-platform t-keycloak t-openid-connect t-google-people-api t-google-identity"> <a class="themed subcommunity-topic-avatar subcommunity-topic-google-cloud s-avatar s-avatar__24 mr2 js-community-tag mb2" style="" data-controller="s-tooltip" title="Google Cloud Collective" href="/collectives/google-cloud"></a> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-cloud-platform" class="s-tag post-tag flex--item mt0 js-tagname-google-cloud-platform" title="show questions tagged &#39;google-cloud-platform&#39;" aria-label="show questions tagged &#39;google-cloud-platform&#39;" rel="tag" aria-labelledby="tag-google-cloud-platform-tooltip-container" data-tag-menu-origin="Unknown">google-cloud-platform</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/keycloak" class="s-tag post-tag flex--item mt0 js-tagname-keycloak" title="show questions tagged &#39;keycloak&#39;" aria-label="show questions tagged &#39;keycloak&#39;" rel="tag" aria-labelledby="tag-keycloak-tooltip-container" data-tag-menu-origin="Unknown">keycloak</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/openid-connect" class="s-tag post-tag flex--item mt0 js-tagname-openid-connect" title="show questions tagged &#39;openid-connect&#39;" aria-label="show questions tagged &#39;openid-connect&#39;" rel="tag" aria-labelledby="tag-openid-connect-tooltip-container" data-tag-menu-origin="Unknown">openid-connect</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-people-api" class="s-tag post-tag flex--item mt0 js-tagname-google-people-api" title="show questions tagged &#39;google-people-api&#39;" aria-label="show questions tagged &#39;google-people-api&#39;" rel="tag" aria-labelledby="tag-google-people-api-tooltip-container" data-tag-menu-origin="Unknown">google-people-api</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/21635788/tural-karimli" class="s-avatar s-avatar__16 s-user-card--avatar" data-user-id="21635788"> <div class="gravatar-wrapper-16"> <img src="https://i.sstatic.net/V09z5lPt.jpg?s=32" alt="Tural Karimli&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/21635788/tural-karimli" class="flex--item">Tural Karimli</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">1</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2025-02-06 13:14:26Z' class='relativetime'>Feb 6 at 13:14</span></time> </div> </div> </div> </div> <div id="question-summary-79397109" class="s-post-summary js-post-summary" data-post-id="79397109" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 0"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">votes</span> </div> <div class="s-post-summary--stats-item " title="0 answers"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">answers</span> </div> <div class="s-post-summary--stats-item " title="29 views"> <span class="s-post-summary--stats-item-number">29</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79397109/signin-with-google-button-gis-in-django-encounter-csrf-verification-failure" class="s-link">SignIn with Google Button (GIS) in Django encounter CSRF verification Failure</a> </h3> <div class="s-post-summary--content-excerpt"> Using the help from here: The given origin is not allowed for the given client ID (GSI). I have managed to get the google sign in button to work. However, I encounter a CSRF verification failure. It ... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-google-signin t-django-csrf t-google-identity"> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-signin" class="s-tag post-tag flex--item mt0 js-tagname-google-signin" title="show questions tagged &#39;google-signin&#39;" aria-label="show questions tagged &#39;google-signin&#39;" rel="tag" aria-labelledby="tag-google-signin-tooltip-container" data-tag-menu-origin="Unknown">google-signin</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/django-csrf" class="s-tag post-tag flex--item mt0 js-tagname-django-csrf" title="show questions tagged &#39;django-csrf&#39;" aria-label="show questions tagged &#39;django-csrf&#39;" rel="tag" aria-labelledby="tag-django-csrf-tooltip-container" data-tag-menu-origin="Unknown">django-csrf</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/29416306/dev-web" class="s-avatar s-avatar__16 s-user-card--avatar" data-user-id="29416306"> <div class="gravatar-wrapper-16"> <img src="https://www.gravatar.com/avatar/d02e6c7c11076a5ec05fa1c3d3d201fb?s=32&amp;d=identicon&amp;r=PG&amp;f=y&amp;so-version=2" alt="Dev Web&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/29416306/dev-web" class="flex--item">Dev Web</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">1</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2025-01-29 14:44:06Z' class='relativetime'>Jan 29 at 14:44</span></time> </div> </div> </div> </div> <div id="question-summary-79372892" class="s-post-summary js-post-summary" data-post-id="79372892" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 0"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">votes</span> </div> <div class="s-post-summary--stats-item " title="0 answers"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">answers</span> </div> <div class="s-post-summary--stats-item " title="49 views"> <span class="s-post-summary--stats-item-number">49</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79372892/google-context-aware-access-ms-windows-chrome-certificate-fetching-issues" class="s-link">Google Context-Aware Access, MS Windows Chrome - Certificate fetching issues</a> </h3> <div class="s-post-summary--content-excerpt"> I am testing setting up Google CEL based context-aware access policy checking for presence of MDM certificate. The policy works with no issues with MacOS based Chrome with Endpoint Verification plugin,... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-google-chrome t-google-workspace t-google-identity t-common-expression-language"> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-chrome" class="s-tag post-tag flex--item mt0 js-tagname-google-chrome" title="show questions tagged &#39;google-chrome&#39;" aria-label="show questions tagged &#39;google-chrome&#39;" rel="tag" aria-labelledby="tag-google-chrome-tooltip-container" data-tag-menu-origin="Unknown">google-chrome</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-workspace" class="s-tag post-tag flex--item mt0 js-tagname-google-workspace" title="show questions tagged &#39;google-workspace&#39;" aria-label="show questions tagged &#39;google-workspace&#39;" rel="tag" aria-labelledby="tag-google-workspace-tooltip-container" data-tag-menu-origin="Unknown">google-workspace</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/common-expression-language" class="s-tag post-tag flex--item mt0 js-tagname-common-expression-language" title="show questions tagged &#39;common-expression-language&#39;" aria-label="show questions tagged &#39;common-expression-language&#39;" rel="tag" aria-labelledby="tag-common-expression-language-tooltip-container" data-tag-menu-origin="Unknown">common-expression-language</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/11086813/igor-m" class="s-avatar s-avatar__16 s-user-card--avatar" data-user-id="11086813"> <div class="gravatar-wrapper-16"> <img src="https://lh4.googleusercontent.com/-05PgsWr_-9c/AAAAAAAAAAI/AAAAAAAABsE/7ZVLbEqwzrQ/photo.jpg?sz=32" alt="Igor M&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/11086813/igor-m" class="flex--item">Igor M</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">11</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2025-01-20 23:31:46Z' class='relativetime'>Jan 20 at 23:31</span></time> </div> </div> </div> </div> <div id="question-summary-79368196" class="s-post-summary js-post-summary" data-post-id="79368196" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 0"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">votes</span> </div> <div class="s-post-summary--stats-item " title="0 answers"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">answers</span> </div> <div class="s-post-summary--stats-item " title="59 views"> <span class="s-post-summary--stats-item-number">59</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79368196/google-accounts-id-initialize-callback-not-firing" class="s-link">google.accounts.id.initialize callback not firing</a> </h3> <div class="s-post-summary--content-excerpt"> I'm trying to setup the ability for the Authenticated User to manage the OAuth accounts they have linked. Here's the code I'm using in my Angular Component: linkGoogle(): void { debugger; // this ... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-javascript t-angular t-google-identity t-google-identity-toolkit"> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/javascript" class="s-tag post-tag flex--item mt0 js-tagname-javascript" title="show questions tagged &#39;javascript&#39;" aria-label="show questions tagged &#39;javascript&#39;" rel="tag" aria-labelledby="tag-javascript-tooltip-container" data-tag-menu-origin="Unknown">javascript</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/angular" class="s-tag post-tag flex--item mt0 js-tagname-angular" title="show questions tagged &#39;angular&#39;" aria-label="show questions tagged &#39;angular&#39;" rel="tag" aria-labelledby="tag-angular-tooltip-container" data-tag-menu-origin="Unknown">angular</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity-toolkit" class="s-tag post-tag flex--item mt0 js-tagname-google-identity-toolkit" title="show questions tagged &#39;google-identity-toolkit&#39;" aria-label="show questions tagged &#39;google-identity-toolkit&#39;" rel="tag" aria-labelledby="tag-google-identity-toolkit-tooltip-container" data-tag-menu-origin="Unknown">google-identity-toolkit</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/25471780/ian-tunbridge" class="s-avatar s-avatar__16 s-user-card--avatar" data-user-id="25471780"> <div class="gravatar-wrapper-16"> <img src="https://www.gravatar.com/avatar/aba9369fbd09c2b158e591bd0a229902?s=32&amp;d=identicon&amp;r=PG&amp;f=y&amp;so-version=2" alt="Ian Tunbridge&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/25471780/ian-tunbridge" class="flex--item">Ian Tunbridge</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">1</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2025-01-19 00:39:33Z' class='relativetime'>Jan 19 at 0:39</span></time> </div> </div> </div> </div> <div id="question-summary-79342368" class="s-post-summary js-post-summary" data-post-id="79342368" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 2"> <span class="s-post-summary--stats-item-number">2</span> <span class="s-post-summary--stats-item-unit">votes</span> </div> <div class="s-post-summary--stats-item has-answers " title="1 answer"> <span class="s-post-summary--stats-item-number">1</span> <span class="s-post-summary--stats-item-unit">answer</span> </div> <div class="s-post-summary--stats-item " title="212 views"> <span class="s-post-summary--stats-item-number">212</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79342368/google-identity-authorization-android-how-to-get-refresh-token" class="s-link">Google Identity Authorization (Android) : how to get refresh token?</a> </h3> <div class="s-post-summary--content-excerpt"> I'm willing to add some kind of Google Drive synchronization to my (native) android app - no backend involved (everything will happen in the app). As seen in the Google Identity documentation, I'm ... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-android t-google-drive-api t-google-play-services t-refresh-token t-google-identity"> <a class="themed subcommunity-topic-avatar subcommunity-topic-mobile-dev s-avatar s-avatar__24 mr2 js-community-tag mb2" style="" data-controller="s-tooltip" title="Mobile Development Collective" href="/collectives/mobile-dev"></a> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/android" class="s-tag post-tag flex--item mt0 js-tagname-android" title="show questions tagged &#39;android&#39;" aria-label="show questions tagged &#39;android&#39;" rel="tag" aria-labelledby="tag-android-tooltip-container" data-tag-menu-origin="Unknown">android</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-drive-api" class="s-tag post-tag flex--item mt0 js-tagname-google-drive-api" title="show questions tagged &#39;google-drive-api&#39;" aria-label="show questions tagged &#39;google-drive-api&#39;" rel="tag" aria-labelledby="tag-google-drive-api-tooltip-container" data-tag-menu-origin="Unknown">google-drive-api</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-play-services" class="s-tag post-tag flex--item mt0 js-tagname-google-play-services" title="show questions tagged &#39;google-play-services&#39;" aria-label="show questions tagged &#39;google-play-services&#39;" rel="tag" aria-labelledby="tag-google-play-services-tooltip-container" data-tag-menu-origin="Unknown">google-play-services</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/refresh-token" class="s-tag post-tag flex--item mt0 js-tagname-refresh-token" title="show questions tagged &#39;refresh-token&#39;" aria-label="show questions tagged &#39;refresh-token&#39;" rel="tag" aria-labelledby="tag-refresh-token-tooltip-container" data-tag-menu-origin="Unknown">refresh-token</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/803330/renaud-cerrato" class="s-avatar s-avatar__16 s-user-card--avatar" data-user-id="803330"> <div class="gravatar-wrapper-16"> <img src="https://i.sstatic.net/Sa8U3.jpg?s=32" alt="Renaud Cerrato&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/803330/renaud-cerrato" class="flex--item">Renaud Cerrato</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">1,357</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2025-01-09 11:08:08Z' class='relativetime'>Jan 9 at 11:08</span></time> </div> </div> </div> </div> <div id="question-summary-79303935" class="s-post-summary js-post-summary" data-post-id="79303935" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 0"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">votes</span> </div> <div class="s-post-summary--stats-item has-answers has-accepted-answer" title="one of the answers was accepted as the correct answer"> <svg aria-hidden="true" class="svg-icon iconCheckmarkSm" width="14" height="14" viewBox="0 0 14 14"><path d="M13 3.41 11.59 2 5 8.59 2.41 6 1 7.41l4 4z"/></svg> <span class="s-post-summary--stats-item-number">1</span> <span class="s-post-summary--stats-item-unit">answer</span> </div> <div class="s-post-summary--stats-item " title="91 views"> <span class="s-post-summary--stats-item-number">91</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79303935/google-identity-platform-with-discourse-for-sso-oicd" class="s-link">Google Identity Platform (with Discourse for SSO/OICD)</a> </h3> <div class="s-post-summary--content-excerpt"> I am confused by the offering of Google's IDP solution. At present we use a mix of KeyCloak &amp; Auth0 which both have served as login provider for our discourse community. While using the https://... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-google-cloud-platform t-google-identity t-discourse"> <a class="themed subcommunity-topic-avatar subcommunity-topic-google-cloud s-avatar s-avatar__24 mr2 js-community-tag mb2" style="" data-controller="s-tooltip" title="Google Cloud Collective" href="/collectives/google-cloud"></a> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-cloud-platform" class="s-tag post-tag flex--item mt0 js-tagname-google-cloud-platform" title="show questions tagged &#39;google-cloud-platform&#39;" aria-label="show questions tagged &#39;google-cloud-platform&#39;" rel="tag" aria-labelledby="tag-google-cloud-platform-tooltip-container" data-tag-menu-origin="Unknown">google-cloud-platform</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/discourse" class="s-tag post-tag flex--item mt0 js-tagname-discourse" title="show questions tagged &#39;discourse&#39;" aria-label="show questions tagged &#39;discourse&#39;" rel="tag" aria-labelledby="tag-discourse-tooltip-container" data-tag-menu-origin="Unknown">discourse</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/21219287/stefan-walther" class="s-avatar s-avatar__16 s-user-card--avatar" data-user-id="21219287"> <div class="gravatar-wrapper-16"> <img src="https://lh3.googleusercontent.com/a/AEdFTp4umnmYr0zcKWnBXQNfItkWVYApbd-hbZmVBZ4AUg=k-s32" alt="Stefan Walther&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/21219287/stefan-walther" class="flex--item">Stefan Walther</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">61</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2024-12-23 18:35:57Z' class='relativetime'>Dec 23, 2024 at 18:35</span></time> </div> </div> </div> </div> <div id="question-summary-79293455" class="s-post-summary js-post-summary" data-post-id="79293455" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 0"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">votes</span> </div> <div class="s-post-summary--stats-item " title="0 answers"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">answers</span> </div> <div class="s-post-summary--stats-item " title="51 views"> <span class="s-post-summary--stats-item-number">51</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79293455/how-to-configure-firebase-auth-email-action-handler-url-callback-uri-programma" class="s-link">How to configure Firebase Auth email action handler URL (callback URI) programmatically?</a> </h3> <div class="s-post-summary--content-excerpt"> I am using Firebase with Google Identity Platform. I need to configure the callback URL for Firebase Authentication email actions (password reset, email verification, etc.) programmatically. This is ... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-firebase t-firebase-authentication t-google-identity t-google-identity-toolkit"> <a class="themed subcommunity-topic-avatar subcommunity-topic-google-cloud s-avatar s-avatar__24 mr2 js-community-tag mb2" style="" data-controller="s-tooltip" title="Google Cloud Collective" href="/collectives/google-cloud"></a> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/firebase" class="s-tag post-tag flex--item mt0 js-tagname-firebase" title="show questions tagged &#39;firebase&#39;" aria-label="show questions tagged &#39;firebase&#39;" rel="tag" aria-labelledby="tag-firebase-tooltip-container" data-tag-menu-origin="Unknown">firebase</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/firebase-authentication" class="s-tag post-tag flex--item mt0 js-tagname-firebase-authentication" title="show questions tagged &#39;firebase-authentication&#39;" aria-label="show questions tagged &#39;firebase-authentication&#39;" rel="tag" aria-labelledby="tag-firebase-authentication-tooltip-container" data-tag-menu-origin="Unknown">firebase-authentication</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity-toolkit" class="s-tag post-tag flex--item mt0 js-tagname-google-identity-toolkit" title="show questions tagged &#39;google-identity-toolkit&#39;" aria-label="show questions tagged &#39;google-identity-toolkit&#39;" rel="tag" aria-labelledby="tag-google-identity-toolkit-tooltip-container" data-tag-menu-origin="Unknown">google-identity-toolkit</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/1526396/tinytiger" class="s-avatar s-avatar__16 s-user-card--avatar" data-user-id="1526396"> <div class="gravatar-wrapper-16"> <img src="https://www.gravatar.com/avatar/60cc3fccdc81057bbca0e483381c5017?s=32&amp;d=identicon&amp;r=PG" alt="TinyTiger&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/1526396/tinytiger" class="flex--item">TinyTiger</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">2,063</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2024-12-19 07:47:22Z' class='relativetime'>Dec 19, 2024 at 7:47</span></time> </div> </div> </div> </div> <div id="question-summary-79204267" class="s-post-summary js-post-summary" data-post-id="79204267" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 0"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">votes</span> </div> <div class="s-post-summary--stats-item " title="0 answers"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">answers</span> </div> <div class="s-post-summary--stats-item " title="81 views"> <span class="s-post-summary--stats-item-number">81</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79204267/popup-window-closed-on-google-gis-requestaccesstoken-in-joomla-php-environme" class="s-link">&quot;Popup window closed&quot; on Google GIS requestAccessToken - in Joomla php environment</a> </h3> <div class="s-post-summary--content-excerpt"> After succesfully initialising a tokenclient with: function initializeGoogleSignIn() { tokenClient = google.accounts.oauth2.initTokenClient({ client_id: 'xxxxxxxx.apps.googleusercontent.... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-google-api t-google-oauth t-google-identity t-google-developer-tools"> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-api" class="s-tag post-tag flex--item mt0 js-tagname-google-api" title="show questions tagged &#39;google-api&#39;" aria-label="show questions tagged &#39;google-api&#39;" rel="tag" aria-labelledby="tag-google-api-tooltip-container" data-tag-menu-origin="Unknown">google-api</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-oauth" class="s-tag post-tag flex--item mt0 js-tagname-google-oauth" title="show questions tagged &#39;google-oauth&#39;" aria-label="show questions tagged &#39;google-oauth&#39;" rel="tag" aria-labelledby="tag-google-oauth-tooltip-container" data-tag-menu-origin="Unknown">google-oauth</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-developer-tools" class="s-tag post-tag flex--item mt0 js-tagname-google-developer-tools" title="show questions tagged &#39;google-developer-tools&#39;" aria-label="show questions tagged &#39;google-developer-tools&#39;" rel="tag" aria-labelledby="tag-google-developer-tools-tooltip-container" data-tag-menu-origin="Unknown">google-developer-tools</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/5857659/pieter" class="s-avatar s-avatar__16 s-user-card--avatar" data-user-id="5857659"> <div class="gravatar-wrapper-16"> <img src="https://graph.facebook.com/949328215104592/picture?type=large" alt="Pieter&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/5857659/pieter" class="flex--item">Pieter</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">13</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2024-11-19 16:24:34Z' class='relativetime'>Nov 19, 2024 at 16:24</span></time> </div> </div> </div> </div> <div id="question-summary-79189399" class="s-post-summary js-post-summary" data-post-id="79189399" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 0"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">votes</span> </div> <div class="s-post-summary--stats-item " title="0 answers"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">answers</span> </div> <div class="s-post-summary--stats-item " title="74 views"> <span class="s-post-summary--stats-item-number">74</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79189399/how-do-i-work-around-this-google-identity-for-ios-error" class="s-link">How do I work around this Google Identity for iOS error?</a> </h3> <div class="s-post-summary--content-excerpt"> I'm using Google Sign-In in a Flutter project with Firebase and AppCheck, but I can't sign in on development builds. I receive a Missing or insufficient permissions error for all Firestore calls. ... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-flutter-dependencies t-google-signin t-google-identity t-firebase-app-check"> <a class="themed subcommunity-topic-avatar subcommunity-topic-google-cloud s-avatar s-avatar__24 mr2 js-community-tag mb2" style="" data-controller="s-tooltip" title="Google Cloud Collective" href="/collectives/google-cloud"></a> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/flutter-dependencies" class="s-tag post-tag flex--item mt0 js-tagname-flutter-dependencies" title="show questions tagged &#39;flutter-dependencies&#39;" aria-label="show questions tagged &#39;flutter-dependencies&#39;" rel="tag" aria-labelledby="tag-flutter-dependencies-tooltip-container" data-tag-menu-origin="Unknown">flutter-dependencies</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-signin" class="s-tag post-tag flex--item mt0 js-tagname-google-signin" title="show questions tagged &#39;google-signin&#39;" aria-label="show questions tagged &#39;google-signin&#39;" rel="tag" aria-labelledby="tag-google-signin-tooltip-container" data-tag-menu-origin="Unknown">google-signin</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/firebase-app-check" class="s-tag post-tag flex--item mt0 js-tagname-firebase-app-check" title="show questions tagged &#39;firebase-app-check&#39;" aria-label="show questions tagged &#39;firebase-app-check&#39;" rel="tag" aria-labelledby="tag-firebase-app-check-tooltip-container" data-tag-menu-origin="Unknown">firebase-app-check</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/4954267/kevin-miller" class="s-avatar s-avatar__16 s-user-card--avatar" data-user-id="4954267"> <div class="gravatar-wrapper-16"> <img src="https://graph.facebook.com/10153927239263012/picture?type=large" alt="Kevin Miller&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/4954267/kevin-miller" class="flex--item">Kevin Miller</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">101</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2024-11-14 15:19:34Z' class='relativetime'>Nov 14, 2024 at 15:19</span></time> </div> </div> </div> </div> <div id="question-summary-79155190" class="s-post-summary js-post-summary" data-post-id="79155190" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 0"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">votes</span> </div> <div class="s-post-summary--stats-item has-answers " title="1 answer"> <span class="s-post-summary--stats-item-number">1</span> <span class="s-post-summary--stats-item-unit">answer</span> </div> <div class="s-post-summary--stats-item " title="196 views"> <span class="s-post-summary--stats-item-number">196</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79155190/send-events-to-google-tag-manager-when-google-sign-in-button-is-clicked" class="s-link">Send events to Google Tag Manager when Google Sign-in button is clicked</a> </h3> <div class="s-post-summary--content-excerpt"> I'm working on implementing custom events in Google Tag Manager for my website, and it’s mostly going well — except for one issue. I'm trying to trigger a GTM event when the Google Sign-in button is ... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-javascript t-google-signin t-google-tag-manager t-razor-pages t-google-identity"> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/javascript" class="s-tag post-tag flex--item mt0 js-tagname-javascript" title="show questions tagged &#39;javascript&#39;" aria-label="show questions tagged &#39;javascript&#39;" rel="tag" aria-labelledby="tag-javascript-tooltip-container" data-tag-menu-origin="Unknown">javascript</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-signin" class="s-tag post-tag flex--item mt0 js-tagname-google-signin" title="show questions tagged &#39;google-signin&#39;" aria-label="show questions tagged &#39;google-signin&#39;" rel="tag" aria-labelledby="tag-google-signin-tooltip-container" data-tag-menu-origin="Unknown">google-signin</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-tag-manager" class="s-tag post-tag flex--item mt0 js-tagname-google-tag-manager" title="show questions tagged &#39;google-tag-manager&#39;" aria-label="show questions tagged &#39;google-tag-manager&#39;" rel="tag" aria-labelledby="tag-google-tag-manager-tooltip-container" data-tag-menu-origin="Unknown">google-tag-manager</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/razor-pages" class="s-tag post-tag flex--item mt0 js-tagname-razor-pages" title="show questions tagged &#39;razor-pages&#39;" aria-label="show questions tagged &#39;razor-pages&#39;" rel="tag" aria-labelledby="tag-razor-pages-tooltip-container" data-tag-menu-origin="Unknown">razor-pages</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/25934772/erkolini" class="s-avatar s-avatar__16 s-user-card--avatar" data-user-id="25934772"> <div class="gravatar-wrapper-16"> <img src="https://www.gravatar.com/avatar/63e05515c8bbdd84daed2b4b0809d8a8?s=32&amp;d=identicon&amp;r=PG&amp;f=y&amp;so-version=2" alt="erkolini&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/25934772/erkolini" class="flex--item">erkolini</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">1</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2024-11-04 11:07:28Z' class='relativetime'>Nov 4, 2024 at 11:07</span></time> </div> </div> </div> </div> <div id="question-summary-79139436" class="s-post-summary js-post-summary" data-post-id="79139436" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 3"> <span class="s-post-summary--stats-item-number">3</span> <span class="s-post-summary--stats-item-unit">votes</span> </div> <div class="s-post-summary--stats-item has-answers has-accepted-answer" title="one of the answers was accepted as the correct answer"> <svg aria-hidden="true" class="svg-icon iconCheckmarkSm" width="14" height="14" viewBox="0 0 14 14"><path d="M13 3.41 11.59 2 5 8.59 2.41 6 1 7.41l4 4z"/></svg> <span class="s-post-summary--stats-item-number">1</span> <span class="s-post-summary--stats-item-unit">answer</span> </div> <div class="s-post-summary--stats-item " title="348 views"> <span class="s-post-summary--stats-item-number">348</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79139436/why-doesnt-android-studio-recognize-the-dependencies-for-googleid" class="s-link">Why doesn&#39;t Android Studio recognize the dependencies for googleId</a> </h3> <div class="s-post-summary--content-excerpt"> I'm trying to build an app that uses Google sign in, but I get unresolved references errors for GoogleIdTokenCredential, GoogleIdTokenParsingException, and GetGoogleIdOption in this code: ... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-android t-kotlin t-android-studio t-google-identity"> <a class="themed subcommunity-topic-avatar subcommunity-topic-mobile-dev s-avatar s-avatar__24 mr2 js-community-tag mb2" style="" data-controller="s-tooltip" title="Mobile Development Collective" href="/collectives/mobile-dev"></a> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/android" class="s-tag post-tag flex--item mt0 js-tagname-android" title="show questions tagged &#39;android&#39;" aria-label="show questions tagged &#39;android&#39;" rel="tag" aria-labelledby="tag-android-tooltip-container" data-tag-menu-origin="Unknown">android</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/kotlin" class="s-tag post-tag flex--item mt0 js-tagname-kotlin" title="show questions tagged &#39;kotlin&#39;" aria-label="show questions tagged &#39;kotlin&#39;" rel="tag" aria-labelledby="tag-kotlin-tooltip-container" data-tag-menu-origin="Unknown">kotlin</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/android-studio" class="s-tag post-tag flex--item mt0 js-tagname-android-studio" title="show questions tagged &#39;android-studio&#39;" aria-label="show questions tagged &#39;android-studio&#39;" rel="tag" aria-labelledby="tag-android-studio-tooltip-container" data-tag-menu-origin="Unknown">android-studio</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/17897208/deusnominus" class="s-avatar s-avatar__16 s-user-card--avatar" data-user-id="17897208"> <div class="gravatar-wrapper-16"> <img src="https://www.gravatar.com/avatar/0d3195167711965a90cd3b93261bb808?s=32&amp;d=identicon&amp;r=PG" alt="Deusnominus&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/17897208/deusnominus" class="flex--item">Deusnominus</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">191</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2024-10-30 01:46:38Z' class='relativetime'>Oct 30, 2024 at 1:46</span></time> </div> </div> </div> </div> <div id="question-summary-79096280" class="s-post-summary js-post-summary" data-post-id="79096280" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 1"> <span class="s-post-summary--stats-item-number">1</span> <span class="s-post-summary--stats-item-unit">vote</span> </div> <div class="s-post-summary--stats-item has-answers " title="2 answers"> <span class="s-post-summary--stats-item-number">2</span> <span class="s-post-summary--stats-item-unit">answers</span> </div> <div class="s-post-summary--stats-item " title="304 views"> <span class="s-post-summary--stats-item-number">304</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79096280/oauth2-google-drive-accestoken-refresh-using-google-credential-manager-authori" class="s-link">OAuth2 google drive AccesToken refresh using Google Credential Manager + AuthorizationClient</a> </h3> <div class="s-post-summary--content-excerpt"> My question: How can I request a OAuth2 credential object to access the Google Drive API, that is automatically refresh after the accessToken is expired? What I did: I followed the latest suggestions ... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-google-drive-api t-google-oauth t-google-identity t-android-credential-manager"> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-drive-api" class="s-tag post-tag flex--item mt0 js-tagname-google-drive-api" title="show questions tagged &#39;google-drive-api&#39;" aria-label="show questions tagged &#39;google-drive-api&#39;" rel="tag" aria-labelledby="tag-google-drive-api-tooltip-container" data-tag-menu-origin="Unknown">google-drive-api</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-oauth" class="s-tag post-tag flex--item mt0 js-tagname-google-oauth" title="show questions tagged &#39;google-oauth&#39;" aria-label="show questions tagged &#39;google-oauth&#39;" rel="tag" aria-labelledby="tag-google-oauth-tooltip-container" data-tag-menu-origin="Unknown">google-oauth</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/android-credential-manager" class="s-tag post-tag flex--item mt0 js-tagname-android-credential-manager" title="show questions tagged &#39;android-credential-manager&#39;" aria-label="show questions tagged &#39;android-credential-manager&#39;" rel="tag" aria-labelledby="tag-android-credential-manager-tooltip-container" data-tag-menu-origin="Unknown">android-credential-manager</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/27835456/spiderbaby" class="s-avatar s-avatar__16 s-user-card--avatar" data-user-id="27835456"> <div class="gravatar-wrapper-16"> <img src="https://www.gravatar.com/avatar/0795d9c5ac4f29de78243cc62e1d569a?s=32&amp;d=identicon&amp;r=PG&amp;f=y&amp;so-version=2" alt="spiderbaby&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/27835456/spiderbaby" class="flex--item">spiderbaby</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">21</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2024-10-17 02:18:44Z' class='relativetime'>Oct 17, 2024 at 2:18</span></time> </div> </div> </div> </div> <div id="question-summary-79090584" class="s-post-summary js-post-summary" data-post-id="79090584" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 0"> <span class="s-post-summary--stats-item-number">0</span> <span class="s-post-summary--stats-item-unit">votes</span> </div> <div class="s-post-summary--stats-item has-answers has-accepted-answer" title="one of the answers was accepted as the correct answer"> <svg aria-hidden="true" class="svg-icon iconCheckmarkSm" width="14" height="14" viewBox="0 0 14 14"><path d="M13 3.41 11.59 2 5 8.59 2.41 6 1 7.41l4 4z"/></svg> <span class="s-post-summary--stats-item-number">1</span> <span class="s-post-summary--stats-item-unit">answer</span> </div> <div class="s-post-summary--stats-item " title="92 views"> <span class="s-post-summary--stats-item-number">92</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79090584/blazor-wasm-oidc-authentication-with-google-fail" class="s-link">Blazor WASM OIDC authentication with Google fail</a> </h3> <div class="s-post-summary--content-excerpt"> I've implemented a Blazor WASM application wiht Google authentication as described here. If I select &quot;Log in&quot;, I get redirected to Google and I can insert my username and password. At that ... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-asp&#xFB;net-core t-openid-connect t-blazor-webassembly t-google-identity"> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/asp.net-core" class="s-tag post-tag flex--item mt0 js-tagname-aspûnet-core" title="show questions tagged &#39;asp.net-core&#39;" aria-label="show questions tagged &#39;asp.net-core&#39;" rel="tag" aria-labelledby="tag-asp.net-core-tooltip-container" data-tag-menu-origin="Unknown">asp.net-core</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/openid-connect" class="s-tag post-tag flex--item mt0 js-tagname-openid-connect" title="show questions tagged &#39;openid-connect&#39;" aria-label="show questions tagged &#39;openid-connect&#39;" rel="tag" aria-labelledby="tag-openid-connect-tooltip-container" data-tag-menu-origin="Unknown">openid-connect</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/blazor-webassembly" class="s-tag post-tag flex--item mt0 js-tagname-blazor-webassembly" title="show questions tagged &#39;blazor-webassembly&#39;" aria-label="show questions tagged &#39;blazor-webassembly&#39;" rel="tag" aria-labelledby="tag-blazor-webassembly-tooltip-container" data-tag-menu-origin="Unknown">blazor-webassembly</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/2601824/corradolab" class="s-avatar s-avatar__16 s-user-card--avatar" data-user-id="2601824"> <div class="gravatar-wrapper-16"> <img src="https://www.gravatar.com/avatar/464d7fc3d558ef75cafc01e49e6e7283?s=32&amp;d=identicon&amp;r=PG" alt="corradolab&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/2601824/corradolab" class="flex--item">corradolab</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">868</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2024-10-15 15:07:29Z' class='relativetime'>Oct 15, 2024 at 15:07</span></time> </div> </div> </div> </div> <div id="question-summary-79080516" class="s-post-summary js-post-summary" data-post-id="79080516" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 1"> <span class="s-post-summary--stats-item-number">1</span> <span class="s-post-summary--stats-item-unit">vote</span> </div> <div class="s-post-summary--stats-item has-answers " title="1 answer"> <span class="s-post-summary--stats-item-number">1</span> <span class="s-post-summary--stats-item-unit">answer</span> </div> <div class="s-post-summary--stats-item " title="203 views"> <span class="s-post-summary--stats-item-number">203</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79080516/getting-warning-message-misuse-of-sign-in-with-google-api-in-android-lint-co" class="s-link">Getting warning message &#39;Misuse of Sign in with Google API&#39; in &#39;Android Lint: Correctness&#39;</a> </h3> <div class="s-post-summary--content-excerpt"> I am seeing a warning message in Android Studio when I inspect my project. in 'Android Lint: Correctness', the warning is: Misuse of Sign in with Google API, Use of :googleid classes without use of ... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-android t-kotlin t-credentials t-google-identity t-android-credential-manager"> <a class="themed subcommunity-topic-avatar subcommunity-topic-mobile-dev s-avatar s-avatar__24 mr2 js-community-tag mb2" style="" data-controller="s-tooltip" title="Mobile Development Collective" href="/collectives/mobile-dev"></a> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/android" class="s-tag post-tag flex--item mt0 js-tagname-android" title="show questions tagged &#39;android&#39;" aria-label="show questions tagged &#39;android&#39;" rel="tag" aria-labelledby="tag-android-tooltip-container" data-tag-menu-origin="Unknown">android</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/kotlin" class="s-tag post-tag flex--item mt0 js-tagname-kotlin" title="show questions tagged &#39;kotlin&#39;" aria-label="show questions tagged &#39;kotlin&#39;" rel="tag" aria-labelledby="tag-kotlin-tooltip-container" data-tag-menu-origin="Unknown">kotlin</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/credentials" class="s-tag post-tag flex--item mt0 js-tagname-credentials" title="show questions tagged &#39;credentials&#39;" aria-label="show questions tagged &#39;credentials&#39;" rel="tag" aria-labelledby="tag-credentials-tooltip-container" data-tag-menu-origin="Unknown">credentials</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/android-credential-manager" class="s-tag post-tag flex--item mt0 js-tagname-android-credential-manager" title="show questions tagged &#39;android-credential-manager&#39;" aria-label="show questions tagged &#39;android-credential-manager&#39;" rel="tag" aria-labelledby="tag-android-credential-manager-tooltip-container" data-tag-menu-origin="Unknown">android-credential-manager</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/19610655/ar-sharif-uddin-jumman" class="s-avatar s-avatar__16 s-user-card--avatar js-user-hover-target" data-user-id="19610655"> <div class="gravatar-wrapper-16"> <img src="https://lh3.googleusercontent.com/a-/AFdZucqRaxxL7i8Xery0-Vzv18xK-a2di-A7Xu06y6KtRQ=k-s32" alt="AR Sharif Uddin JUMMAN&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/19610655/ar-sharif-uddin-jumman" class="flex--item">AR Sharif Uddin JUMMAN</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">375</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2024-10-12 08:29:13Z' class='relativetime'>Oct 12, 2024 at 8:29</span></time> </div> </div> </div> </div> <div id="question-summary-79015405" class="s-post-summary js-post-summary" data-post-id="79015405" data-post-type-id="1"> <div class="s-post-summary--stats js-post-summary-stats"> <div class="s-post-summary--stats-item s-post-summary--stats-item__emphasized" title="Score of 3"> <span class="s-post-summary--stats-item-number">3</span> <span class="s-post-summary--stats-item-unit">votes</span> </div> <div class="s-post-summary--stats-item has-answers has-accepted-answer" title="one of the answers was accepted as the correct answer"> <svg aria-hidden="true" class="svg-icon iconCheckmarkSm" width="14" height="14" viewBox="0 0 14 14"><path d="M13 3.41 11.59 2 5 8.59 2.41 6 1 7.41l4 4z"/></svg> <span class="s-post-summary--stats-item-number">1</span> <span class="s-post-summary--stats-item-unit">answer</span> </div> <div class="s-post-summary--stats-item " title="180 views"> <span class="s-post-summary--stats-item-number">180</span> <span class="s-post-summary--stats-item-unit">views</span> </div> </div> <div class="s-post-summary--content"> <h3 class="s-post-summary--content-title"> <a href="/questions/79015405/getting-integer-value-from-googleidtokencredential-id-but-expected-string" class="s-link">Getting Integer value from googleIdTokenCredential.id but expected String</a> </h3> <div class="s-post-summary--content-excerpt"> I want to create login system using 'GoogleIdTokenCredential'. But the problem is sometimes googleIdTokenCredential.id returns integer and googleIdTokenCredential.displayName returns null value. But ... </div> <div class="s-post-summary--meta"> <div class="s-post-summary--meta-tags d-inline-block tags js-tags t-android t-kotlin t-credentials t-google-identity t-android-credential-manager"> <a class="themed subcommunity-topic-avatar subcommunity-topic-mobile-dev s-avatar s-avatar__24 mr2 js-community-tag mb2" style="" data-controller="s-tooltip" title="Mobile Development Collective" href="/collectives/mobile-dev"></a> <ul class='ml0 list-ls-none js-post-tag-list-wrapper d-inline'><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/android" class="s-tag post-tag flex--item mt0 js-tagname-android" title="show questions tagged &#39;android&#39;" aria-label="show questions tagged &#39;android&#39;" rel="tag" aria-labelledby="tag-android-tooltip-container" data-tag-menu-origin="Unknown">android</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/kotlin" class="s-tag post-tag flex--item mt0 js-tagname-kotlin" title="show questions tagged &#39;kotlin&#39;" aria-label="show questions tagged &#39;kotlin&#39;" rel="tag" aria-labelledby="tag-kotlin-tooltip-container" data-tag-menu-origin="Unknown">kotlin</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/credentials" class="s-tag post-tag flex--item mt0 js-tagname-credentials" title="show questions tagged &#39;credentials&#39;" aria-label="show questions tagged &#39;credentials&#39;" rel="tag" aria-labelledby="tag-credentials-tooltip-container" data-tag-menu-origin="Unknown">credentials</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/google-identity" class="s-tag post-tag flex--item mt0 js-tagname-google-identity" title="show questions tagged &#39;google-identity&#39;" aria-label="show questions tagged &#39;google-identity&#39;" rel="tag" aria-labelledby="tag-google-identity-tooltip-container" data-tag-menu-origin="Unknown">google-identity</a></li><li class='d-inline mr4 js-post-tag-list-item'><a href="/questions/tagged/android-credential-manager" class="s-tag post-tag flex--item mt0 js-tagname-android-credential-manager" title="show questions tagged &#39;android-credential-manager&#39;" aria-label="show questions tagged &#39;android-credential-manager&#39;" rel="tag" aria-labelledby="tag-android-credential-manager-tooltip-container" data-tag-menu-origin="Unknown">android-credential-manager</a></li></ul> </div> <div class="s-user-card s-user-card__minimal" aria-live="polite"> <a href="/users/19610655/ar-sharif-uddin-jumman" class="s-avatar s-avatar__16 s-user-card--avatar js-user-hover-target" data-user-id="19610655"> <div class="gravatar-wrapper-16"> <img src="https://lh3.googleusercontent.com/a-/AFdZucqRaxxL7i8Xery0-Vzv18xK-a2di-A7Xu06y6KtRQ=k-s32" alt="AR Sharif Uddin JUMMAN&#39;s user avatar" width="16" , height="16" class="s-avatar--image" /> </div> </a> <div class="s-user-card--info"> <div class="s-user-card--link d-flex gs4" > <a href="/users/19610655/ar-sharif-uddin-jumman" class="flex--item">AR Sharif Uddin JUMMAN</a> </div> <ul class="s-user-card--awards"> <li class="s-user-card--rep"><span class="todo-no-class-here" title="reputation score " dir="ltr">375</span></li> </ul> </div> <time class="s-user-card--time">asked <span title='2024-09-23 15:55:56Z' class='relativetime'>Sep 23, 2024 at 15:55</span></time> </div> </div> </div> </div> </div> <br class="clear-both" /> <div class="s-pagination site1 themed page-sizer float-right"> <a href="/questions/tagged/google-identity?tab=newest&amp;pagesize=15" title="Show 15 items per page" class="s-pagination--item is-selected" aria-current="true">15</a> <a href="/questions/tagged/google-identity?tab=newest&amp;pagesize=30" title="Show 30 items per page" class="s-pagination--item">30</a> <a href="/questions/tagged/google-identity?tab=newest&amp;pagesize=50" title="Show 50 items per page" class="s-pagination--item">50</a> <span class="s-pagination--item s-pagination--item__clear">per page</span> </div> <div class="s-pagination site1 themed pager float-left"> <div class="s-pagination--item is-selected" aria-current=&quot;page&quot;>1</div> <a class="s-pagination--item js-pagination-item" href="/questions/tagged/google-identity?tab=newest&page=2&pagesize=15" rel="" title="Go to page 2">2</a> <a class="s-pagination--item js-pagination-item" href="/questions/tagged/google-identity?tab=newest&page=3&pagesize=15" rel="" title="Go to page 3">3</a> <a class="s-pagination--item js-pagination-item" href="/questions/tagged/google-identity?tab=newest&page=4&pagesize=15" rel="" title="Go to page 4">4</a> <a class="s-pagination--item js-pagination-item" href="/questions/tagged/google-identity?tab=newest&page=5&pagesize=15" rel="" title="Go to page 5">5</a> <div class="s-pagination--item s-pagination--item__clear" >…</div> <a class="s-pagination--item js-pagination-item" href="/questions/tagged/google-identity?tab=newest&page=35&pagesize=15" rel="" title="Go to page 35">35</a> <a class="s-pagination--item js-pagination-item" href="/questions/tagged/google-identity?tab=newest&page=2&pagesize=15" rel="next" title="Go to page 2"> Next</a></div> </div> <div id="sidebar"> <div class="s-sidebarwidget s-sidebarwidget__yellow s-anchors s-anchors__grayscale mb16" data-tracker="cb=1"> <ul class="s-sidebarwidget--content s-sidebarwidget__items p0"> <li class="s-sidebarwidget--header"> The Overflow Blog </li> <li class="s-sidebarwidget--item d-flex px16"> <div class="flex--item1 fl-shrink0"> <svg aria-hidden="true" class="va-text-top svg-icon iconPencilSm" width="14" height="14" viewBox="0 0 14 14"><path fill="#F1B600" d="m2 10.12 6.37-6.43 1.88 1.88L3.88 12H2z"/><path fill="#E87C87" d="m11.1 1.71 1.13 1.12c.2.2.2.51 0 .71L11.1 4.7 9.21 2.86l1.17-1.15c.2-.2.51-.2.71 0"/></svg> </div> <div class="flex--item wmn0 ow-break-word"> <a href="https://stackoverflow.blog/2025/02/13/how-to-harness-apis-and-ai-for-intelligent-automation/" class="js-gps-track" data-ga="[&quot;community bulletin board&quot;,&quot;The Overflow Blog&quot;,&quot;https://stackoverflow.blog/2025/02/13/how-to-harness-apis-and-ai-for-intelligent-automation/&quot;,null,null]" data-gps-track="communitybulletin.click({ priority: 1, position: 0, location: listbytag })">How to harness APIs and AI for intelligent automation</a> </div> </li> <li class="s-sidebarwidget--item d-flex px16"> <div class="flex--item1 fl-shrink0"> <svg aria-hidden="true" class="va-text-top svg-icon iconPencilSm" width="14" height="14" viewBox="0 0 14 14"><path fill="#F1B600" d="m2 10.12 6.37-6.43 1.88 1.88L3.88 12H2z"/><path fill="#E87C87" d="m11.1 1.71 1.13 1.12c.2.2.2.51 0 .71L11.1 4.7 9.21 2.86l1.17-1.15c.2-.2.51-.2.71 0"/></svg> </div> <div class="flex--item wmn0 ow-break-word"> <a href="https://stackoverflow.blog/2025/02/14/solving-the-data-doom-loop/" class="js-gps-track" data-ga="[&quot;community bulletin board&quot;,&quot;The Overflow Blog&quot;,&quot;https://stackoverflow.blog/2025/02/14/solving-the-data-doom-loop/&quot;,null,null]" data-gps-track="communitybulletin.click({ priority: 1, position: 1, location: listbytag })">Solving the data doom loop</a> </div> </li> <li class="s-sidebarwidget--header"> Featured on Meta </li> <li class="s-sidebarwidget--item d-flex px16"> <div class="flex--item1 fl-shrink0"> <div class="favicon favicon-stackexchangemeta" title="Meta Stack Exchange"></div> </div> <div class="flex--item wmn0 ow-break-word"> <a href="https://meta.stackexchange.com/questions/406399/join-us-for-our-first-community-wide-ama-ask-me-anything-with-stack-overflow-s" class="js-gps-track" title="Join us for our first community-wide AMA (Ask Me Anything) with Stack Overflow&#x2019;s CEO (and a few others) on February 26, 2025" data-ga="[&quot;community bulletin board&quot;,&quot;Featured on Meta&quot;,&quot;https://meta.stackexchange.com/questions/406399/join-us-for-our-first-community-wide-ama-ask-me-anything-with-stack-overflow-s&quot;,null,null]" data-gps-track="communitybulletin.click({ priority: 3, position: 2, location: listbytag })">Join us for our first community-wide AMA (Ask Me Anything) with Stack...</a> </div> </li> <li class="s-sidebarwidget--item d-flex px16"> <div class="flex--item1 fl-shrink0"> <div class="favicon favicon-stackexchangemeta" title="Meta Stack Exchange"></div> </div> <div class="flex--item wmn0 ow-break-word"> <a href="https://meta.stackexchange.com/questions/406575/bigbird-and-frog-have-joined-us-as-community-managers" class="js-gps-track" data-ga="[&quot;community bulletin board&quot;,&quot;Featured on Meta&quot;,&quot;https://meta.stackexchange.com/questions/406575/bigbird-and-frog-have-joined-us-as-community-managers&quot;,null,null]" data-gps-track="communitybulletin.click({ priority: 3, position: 3, location: listbytag })">bigbird and Frog have joined us as Community Managers</a> </div> </li> <li class="s-sidebarwidget--item d-flex px16"> <div class="flex--item1 fl-shrink0"> <div class="favicon favicon-stackoverflowmeta" title="Meta Stack Overflow"></div> </div> <div class="flex--item wmn0 ow-break-word"> <a href="https://meta.stackoverflow.com/questions/421831/policy-generative-ai-e-g-chatgpt-is-banned" class="js-gps-track" data-ga="[&quot;community bulletin board&quot;,&quot;Featured on Meta&quot;,&quot;https://meta.stackoverflow.com/questions/421831/policy-generative-ai-e-g-chatgpt-is-banned&quot;,null,null]" data-gps-track="communitybulletin.click({ priority: 6, position: 4, location: listbytag })">Policy: Generative AI (e.g., ChatGPT) is banned</a> </div> </li> <li class="s-sidebarwidget--item d-flex px16"> <div class="flex--item1 fl-shrink0"> <div class="favicon favicon-stackoverflowmeta" title="Meta Stack Overflow"></div> </div> <div class="flex--item wmn0 ow-break-word"> <a href="https://meta.stackoverflow.com/questions/432989/is-it-better-to-redirect-users-who-attempt-to-perform-actions-they-cant-yet-tak" class="js-gps-track" title="Is it better to redirect users who attempt to perform actions they can&#x27;t yet take?" data-ga="[&quot;community bulletin board&quot;,&quot;Featured on Meta&quot;,&quot;https://meta.stackoverflow.com/questions/432989/is-it-better-to-redirect-users-who-attempt-to-perform-actions-they-cant-yet-tak&quot;,null,null]" data-gps-track="communitybulletin.click({ priority: 6, position: 5, location: listbytag })">Is it better to redirect users who attempt to perform actions they can&#39;t yet...</a> </div> </li> </ul> </div> <div class="js-sidebar-zone" style="min-height: 300px;"> <div class="js-zone-container zone-container-sidebar"> <div id="dfp-tsb" class="everyonelovesstackoverflow everyoneloves__top-sidebar"></div> <div class="js-report-ad-button-container " style="width: 300px"></div> </div> <div class="js-zone-container zone-container-sidebar"> <div id="dfp-msb" class="everyonelovesstackoverflow everyoneloves__mid-sidebar"></div> <div class="js-report-ad-button-container " style="width: 300px"></div> </div> <div id="hireme"></div> </div> <div class="module js-gps-related-tags"> <h2 id="h-related-tags" class="fc-black-500">Related Tags</h2> <div data-name="google-signin"> <a href="/questions/tagged/google-identity+google-signin" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity google-signin&#39;" aria-label="show questions tagged &#39;google-identity google-signin&#39;" rel="tag" data-tag-menu-origin="Unknown">google-signin</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">137</span> </span> </div> <div data-name="google-oauth"> <a href="/questions/tagged/google-identity+google-oauth" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity google-oauth&#39;" aria-label="show questions tagged &#39;google-identity google-oauth&#39;" rel="tag" data-tag-menu-origin="Unknown">google-oauth</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">97</span> </span> </div> <div data-name="google-cloud-platform"> <a href="/questions/tagged/google-identity+google-cloud-platform" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity google-cloud-platform&#39;" aria-label="show questions tagged &#39;google-identity google-cloud-platform&#39;" rel="tag" data-tag-menu-origin="Unknown">google-cloud-platform</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">93</span> </span> </div> <div data-name="javascript"> <a href="/questions/tagged/google-identity+javascript" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity javascript&#39;" aria-label="show questions tagged &#39;google-identity javascript&#39;" rel="tag" data-tag-menu-origin="Unknown">javascript</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">78</span> </span> </div> <div data-name="firebase-authentication"> <a href="/questions/tagged/google-identity+firebase-authentication" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity firebase-authentication&#39;" aria-label="show questions tagged &#39;google-identity firebase-authentication&#39;" rel="tag" data-tag-menu-origin="Unknown">firebase-authentication</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">68</span> </span> </div> <div data-name="firebase"> <a href="/questions/tagged/google-identity+firebase" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity firebase&#39;" aria-label="show questions tagged &#39;google-identity firebase&#39;" rel="tag" data-tag-menu-origin="Unknown">firebase</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">47</span> </span> </div> <div data-name="android"> <a href="/questions/tagged/google-identity+android" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity android&#39;" aria-label="show questions tagged &#39;google-identity android&#39;" rel="tag" data-tag-menu-origin="Unknown">android</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">44</span> </span> </div> <div data-name="google-identity-toolkit"> <a href="/questions/tagged/google-identity+google-identity-toolkit" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity google-identity-toolkit&#39;" aria-label="show questions tagged &#39;google-identity google-identity-toolkit&#39;" rel="tag" data-tag-menu-origin="Unknown">google-identity-toolkit</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">40</span> </span> </div> <div data-name="google-api"> <a href="/questions/tagged/google-identity+google-api" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity google-api&#39;" aria-label="show questions tagged &#39;google-identity google-api&#39;" rel="tag" data-tag-menu-origin="Unknown">google-api</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">38</span> </span> </div> <div data-name="oauth-2.0"> <a href="/questions/tagged/google-identity+oauth-2.0" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity oauth-2.0&#39;" aria-label="show questions tagged &#39;google-identity oauth-2.0&#39;" rel="tag" data-tag-menu-origin="Unknown">oauth-2.0</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">35</span> </span> </div> <div class="dno js-hidden" data-name="reactjs"> <a href="/questions/tagged/google-identity+reactjs" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity reactjs&#39;" aria-label="show questions tagged &#39;google-identity reactjs&#39;" rel="tag" data-tag-menu-origin="Unknown">reactjs</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">25</span> </span> </div> <div class="dno js-hidden" data-name="authentication"> <a href="/questions/tagged/google-identity+authentication" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity authentication&#39;" aria-label="show questions tagged &#39;google-identity authentication&#39;" rel="tag" data-tag-menu-origin="Unknown">authentication</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">21</span> </span> </div> <div class="dno js-hidden" data-name="google-authentication"> <a href="/questions/tagged/google-identity+google-authentication" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity google-authentication&#39;" aria-label="show questions tagged &#39;google-identity google-authentication&#39;" rel="tag" data-tag-menu-origin="Unknown">google-authentication</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">19</span> </span> </div> <div class="dno js-hidden" data-name="google-one-tap"> <a href="/questions/tagged/google-identity+google-one-tap" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity google-one-tap&#39;" aria-label="show questions tagged &#39;google-identity google-one-tap&#39;" rel="tag" data-tag-menu-origin="Unknown">google-one-tap</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">19</span> </span> </div> <div class="dno js-hidden" data-name="openid-connect"> <a href="/questions/tagged/google-identity+openid-connect" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity openid-connect&#39;" aria-label="show questions tagged &#39;google-identity openid-connect&#39;" rel="tag" data-tag-menu-origin="Unknown">openid-connect</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">19</span> </span> </div> <div class="dno js-hidden" data-name="google-api-js-client"> <a href="/questions/tagged/google-identity+google-api-js-client" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity google-api-js-client&#39;" aria-label="show questions tagged &#39;google-identity google-api-js-client&#39;" rel="tag" data-tag-menu-origin="Unknown">google-api-js-client</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">15</span> </span> </div> <div class="dno js-hidden" data-name="single-sign-on"> <a href="/questions/tagged/google-identity+single-sign-on" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity single-sign-on&#39;" aria-label="show questions tagged &#39;google-identity single-sign-on&#39;" rel="tag" data-tag-menu-origin="Unknown">single-sign-on</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">13</span> </span> </div> <div class="dno js-hidden" data-name="google-smartlockpasswords"> <a href="/questions/tagged/google-identity+google-smartlockpasswords" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity google-smartlockpasswords&#39;" aria-label="show questions tagged &#39;google-identity google-smartlockpasswords&#39;" rel="tag" data-tag-menu-origin="Unknown">google-smartlockpasswords</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">12</span> </span> </div> <div class="dno js-hidden" data-name="google-app-engine"> <a href="/questions/tagged/google-identity+google-app-engine" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity google-app-engine&#39;" aria-label="show questions tagged &#39;google-identity google-app-engine&#39;" rel="tag" data-tag-menu-origin="Unknown">google-app-engine</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">12</span> </span> </div> <div class="dno js-hidden" data-name="node.js"> <a href="/questions/tagged/google-identity+node.js" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity node.js&#39;" aria-label="show questions tagged &#39;google-identity node.js&#39;" rel="tag" data-tag-menu-origin="Unknown">node.js</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">10</span> </span> </div> <div class="dno js-hidden" data-name="jwt"> <a href="/questions/tagged/google-identity+jwt" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity jwt&#39;" aria-label="show questions tagged &#39;google-identity jwt&#39;" rel="tag" data-tag-menu-origin="Unknown">jwt</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">10</span> </span> </div> <div class="dno js-hidden" data-name="kotlin"> <a href="/questions/tagged/google-identity+kotlin" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity kotlin&#39;" aria-label="show questions tagged &#39;google-identity kotlin&#39;" rel="tag" data-tag-menu-origin="Unknown">kotlin</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">10</span> </span> </div> <div class="dno js-hidden" data-name="google-workspace"> <a href="/questions/tagged/google-identity+google-workspace" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity google-workspace&#39;" aria-label="show questions tagged &#39;google-identity google-workspace&#39;" rel="tag" data-tag-menu-origin="Unknown">google-workspace</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">10</span> </span> </div> <div class="dno js-hidden" data-name="saml"> <a href="/questions/tagged/google-identity+saml" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity saml&#39;" aria-label="show questions tagged &#39;google-identity saml&#39;" rel="tag" data-tag-menu-origin="Unknown">saml</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">9</span> </span> </div> <div class="dno js-hidden" data-name="google-cloud-functions"> <a href="/questions/tagged/google-identity+google-cloud-functions" class="s-tag post-tag no-tag-menu" title="show questions tagged &#39;google-identity google-cloud-functions&#39;" aria-label="show questions tagged &#39;google-identity google-cloud-functions&#39;" rel="tag" data-tag-menu-origin="Unknown">google-cloud-functions</a>&nbsp;<span class="item-multiplier"><span class="item-multiplier-x">&times;</span>&nbsp;<span class="item-multiplier-count">9</span> </span> </div> <a href="#" class="show-more js-show-more js-gps-track" data-gps-track="related_tags.click({ item_type:2 })"> more related tags </a> <script> StackExchange.ready(function () { var $div = $('#h-related-tags').parent(); $div.find('.js-show-more').on("click", function () { $div.find('.js-hidden').show(); $(this).remove(); return false; }); }); </script> </div> <div id="hot-network-questions" class="module tex2jax_ignore"> <h4> <a href="https://stackexchange.com/questions?tab=hot" class="js-gps-track s-link s-link__inherit" data-gps-track="posts_hot_network.click({ item_type:1, location:9 })"> Hot Network Questions </a> </h4> <ul> <li > <div class="favicon favicon-law" title="Law Stack Exchange"></div><a href="https://law.stackexchange.com/questions/107396/does-at-will-employment-entitle-you-to-quit-without-giving-any-notice" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:617 }); posts_hot_network.click({ item_type:2, location:9 })"> Does at-will employment entitle you to quit without giving any notice? </a> </li> <li > <div class="favicon favicon-physics" title="Physics Stack Exchange"></div><a href="https://physics.stackexchange.com/questions/842771/if-there-is-no-absolute-reference-frame-why-do-fictitious-forces-exist" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:151 }); posts_hot_network.click({ item_type:2, location:9 })"> If there is no absolute reference frame, why do fictitious forces exist? </a> </li> <li > <div class="favicon favicon-security" title="Information Security Stack Exchange"></div><a href="https://security.stackexchange.com/questions/280550/can-buffer-overflow-attacks-become-impossible" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:162 }); posts_hot_network.click({ item_type:2, location:9 })"> Can buffer overflow attacks become impossible? </a> </li> <li > <div class="favicon favicon-proofassistants" title="Proof Assistants Stack Exchange"></div><a href="https://proofassistants.stackexchange.com/questions/4744/agda-termination-checking-when-one-of-several-argument-decreases" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:708 }); posts_hot_network.click({ item_type:2, location:9 })"> Agda: termination checking when one of several argument decreases </a> </li> <li > <div class="favicon favicon-cseducators" title="Computer Science Educators Stack Exchange"></div><a href="https://cseducators.stackexchange.com/questions/8207/how-to-explain-to-beginners-that-they-have-inadvertently-used-advanced-syntax" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:678 }); posts_hot_network.click({ item_type:2, location:9 })"> How to explain to beginners that they have inadvertently used advanced syntax? </a> </li> <li > <div class="favicon favicon-mathematica" title="Mathematica Stack Exchange"></div><a href="https://mathematica.stackexchange.com/questions/311009/need-help-with-an-application-of-financialdata" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:387 }); posts_hot_network.click({ item_type:2, location:9 })"> Need help with an application of FInancialData </a> </li> <li > <div class="favicon favicon-politics" title="Politics Stack Exchange"></div><a href="https://politics.stackexchange.com/questions/90622/can-republicans-make-it-so-that-election-outcomes-are-decided-by-who-wins-the-mo" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:475 }); posts_hot_network.click({ item_type:2, location:9 })"> Can Republicans make it so that election outcomes are decided by who wins the most counties? </a> </li> <li > <div class="favicon favicon-electronics" title="Electrical Engineering Stack Exchange"></div><a href="https://electronics.stackexchange.com/questions/739076/basic-inductor-simulation-on-ltspice" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:135 }); posts_hot_network.click({ item_type:2, location:9 })"> Basic Inductor Simulation on LTspice </a> </li> <li > <div class="favicon favicon-math" title="Mathematics Stack Exchange"></div><a href="https://math.stackexchange.com/questions/5035793/locus-of-a-point-whose-circle-intersects-given-two-circles" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:69 }); posts_hot_network.click({ item_type:2, location:9 })"> Locus of a point whose circle intersects given two circles. </a> </li> <li > <div class="favicon favicon-money" title="Personal Finance &amp; Money Stack Exchange"></div><a href="https://money.stackexchange.com/questions/165307/my-mother-wants-to-use-my-bank-account-to-temporarily-hold-money-from-her-house" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:93 }); posts_hot_network.click({ item_type:2, location:9 })"> My mother wants to use my bank account to temporarily hold money from her house sale, will I be liable for taxes? </a> </li> <li > <div class="favicon favicon-music" title="Music: Practice &amp; Theory Stack Exchange"></div><a href="https://music.stackexchange.com/questions/138896/what-is-the-convention-for-notating-long-periods-of-rest" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:240 }); posts_hot_network.click({ item_type:2, location:9 })"> What is the convention for notating long periods of rest? </a> </li> <li > <div class="favicon favicon-chemistry" title="Chemistry Stack Exchange"></div><a href="https://chemistry.stackexchange.com/questions/187456/copper-tarnishing" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:431 }); posts_hot_network.click({ item_type:2, location:9 })"> Copper Tarnishing </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-aviation" title="Aviation Stack Exchange"></div><a href="https://aviation.stackexchange.com/questions/107998/pacific-western-airlines-flight-314-how-could-the-cvr-burn-up" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:528 }); posts_hot_network.click({ item_type:2, location:9 })"> Pacific Western Airlines Flight 314: How could the CVR burn up? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-mathematica" title="Mathematica Stack Exchange"></div><a href="https://mathematica.stackexchange.com/questions/311003/double-integral-which-is-clearly-convergent-not-converging" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:387 }); posts_hot_network.click({ item_type:2, location:9 })"> Double Integral Which is Clearly Convergent Not Converging </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-bricks" title="Bricks"></div><a href="https://bricks.stackexchange.com/questions/19048/what-lego-set-is-this-two-bags-with-neon-yellow-pieces-smileys-and-eyes" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:336 }); posts_hot_network.click({ item_type:2, location:9 })"> What LEGO set is this? Two bags with neon-yellow pieces, smileys and eyes </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-unix" title="Unix &amp; Linux Stack Exchange"></div><a href="https://unix.stackexchange.com/questions/791119/vt320-over-ttyusb0-crashes-when-encountering-emoji" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:106 }); posts_hot_network.click({ item_type:2, location:9 })"> VT320 over ttyUSB0 crashes when encountering emoji </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-superuser" title="Super User"></div><a href="https://superuser.com/questions/1880023/how-to-use-a-laptop-in-a-strong-magnetic-field" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:3 }); posts_hot_network.click({ item_type:2, location:9 })"> How to use a laptop in a strong magnetic field </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-stats" title="Cross Validated"></div><a href="https://stats.stackexchange.com/questions/661364/what-are-some-real-world-examples-of-statistical-models-where-the-dependent-vari" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:65 }); posts_hot_network.click({ item_type:2, location:9 })"> What are some real-world examples of statistical models where the dependent variable chronologically occurs before the independent variable? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-electronics" title="Electrical Engineering Stack Exchange"></div><a href="https://electronics.stackexchange.com/questions/739058/what-could-be-causing-a-difference-between-ltspice-simulation-and-ideal-conditio" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:135 }); posts_hot_network.click({ item_type:2, location:9 })"> What could be causing a difference between LTspice simulation and ideal condition calculations on paper, in a Thevenin equivalent problem? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-superuser" title="Super User"></div><a href="https://superuser.com/questions/1879973/thousands-of-unknown-accounts-in-file-permissions" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:3 }); posts_hot_network.click({ item_type:2, location:9 })"> Thousands of unknown accounts in file permissions </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-academia" title="Academia Stack Exchange"></div><a href="https://academia.stackexchange.com/questions/216786/applying-for-a-phd-with-the-same-researcher-that-rejected-you-in-the-past" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:415 }); posts_hot_network.click({ item_type:2, location:9 })"> Applying for a PhD with the same researcher that &#x27;rejected&#x27; you in the past </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-law" title="Law Stack Exchange"></div><a href="https://law.stackexchange.com/questions/107407/is-a-person-free-to-say-anything-before-signing-an-nda" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:617 }); posts_hot_network.click({ item_type:2, location:9 })"> Is a person free to say anything before signing an NDA? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-electronics" title="Electrical Engineering Stack Exchange"></div><a href="https://electronics.stackexchange.com/questions/739116/how-should-a-push-pull-transformer-with-a-low-primary-turn-count-be-wound" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:135 }); posts_hot_network.click({ item_type:2, location:9 })"> How should a push-pull transformer with a low primary turn count be wound? </a> </li> <li class="dno js-hidden"> <div class="favicon favicon-money" title="Personal Finance &amp; Money Stack Exchange"></div><a href="https://money.stackexchange.com/questions/165312/market-forces-at-work-when-value-investing" class="js-gps-track question-hyperlink mb0" data-gps-track="site.switch({ item_type:9, target_site:93 }); posts_hot_network.click({ item_type:2, location:9 })"> Market forces at work when value investing </a> </li> </ul> <a href="#" class="show-more js-show-more js-gps-track" data-gps-track="posts_hot_network.click({ item_type:3, location:9 })"> more hot questions </a> </div> <div id="feed-link" class="js-feed-link"> <a href="/feeds/tag?tagnames=google-identity&amp;sort=newest" title="The 30 newest google-identity questions"> <svg aria-hidden="true" class="fc-orange-400 svg-icon iconRss" width="18" height="18" viewBox="0 0 18 18"><path d="M3 1a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm0 1.5c6.9 0 12.5 5.6 12.5 12.5H13C13 9.55 8.45 5 3 5zm0 5c4.09 0 7.5 3.41 7.5 7.5H8c0-2.72-2.28-5-5-5zm0 5c1.36 0 2.5 1.14 2.5 2.5H3z"/></svg> Newest google-identity questions feed </a> </div> <aside class="s-modal js-feed-link-modal" tabindex="-1" role="dialog" aria-labelledby="feed-modal-title" aria-describedby="feed-modal-description" aria-hidden="true"> <div class="s-modal--dialog js-modal-dialog wmx4" role="document" data-controller="se-draggable"> <h1 class="s-modal--header fw-bold js-first-tabbable" id="feed-modal-title" data-se-draggable-target="handle" tabindex="0"> Subscribe to RSS </h1> <div class="d-flex gs4 gsy fd-column"> <div class="flex--item"> <label class="d-block s-label c-default" for="feed-url"> Newest google-identity questions feed <p class="s-description mt2" id="feed-modal-description">To subscribe to this RSS feed, copy and paste this URL into your RSS reader.</p> </label> </div> <div class="d-flex ps-relative"> <input class="s-input" type="text" name="feed-url" id="feed-url" readonly="readonly" value="https://stackoverflow.com/feeds/tag?tagnames=google-identity&amp;sort=newest" /> <svg aria-hidden="true" class="s-input-icon fc-orange-400 svg-icon iconRss" width="18" height="18" viewBox="0 0 18 18"><path d="M3 1a2 2 0 0 0-2 2v12c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm0 1.5c6.9 0 12.5 5.6 12.5 12.5H13C13 9.55 8.45 5 3 5zm0 5c4.09 0 7.5 3.41 7.5 7.5H8c0-2.72-2.28-5-5-5zm0 5c1.36 0 2.5 1.14 2.5 2.5H3z"/></svg> </div> </div> <a class="s-modal--close s-btn s-btn__muted js-modal-close js-last-tabbable" href="#" aria-label="Close"> <svg aria-hidden="true" class="svg-icon iconClearSm" width="14" height="14" viewBox="0 0 14 14"><path d="M12 3.41 10.59 2 7 5.59 3.41 2 2 3.41 5.59 7 2 10.59 3.41 12 7 8.41 10.59 12 12 10.59 8.41 7z"/></svg> </a> </div> </aside> </div> </div> </div> <script type="text/javascript"> var cam = cam || { opt: {} }; var clcGamLoaderOptions = cam || { opt: {} }; var opt = clcGamLoaderOptions.opt; opt.omni = 'BwoLCMCrtOmvy-c9EAUgAigBOhF8Z29vZ2xlLWlkZW50aXR5fEgAwjxJLTBqLdSpoQ'; opt.refresh = !1; opt.refreshInterval = 90; opt.sf = !0; opt.hb = !1; opt.ll = !0; opt.tlb_position = 0; opt.personalization_consent = !1; opt.targeting_consent = !1; opt.performance_consent = !1; opt.targeting = {Registered:['false'],Reputation:['new'],'so-tag':['google-identity'],'tag-reportable':['google-identity'],cf_bot_score:'1'}; opt.adReportEnabled = !0; opt.adReportUrl = '/ads/report-ad'; opt.adReportText = 'Report this ad'; opt.adReportFileTypeErrorMessage = 'Please select a PNG or JPG file.'; opt.adReportFileSizeErrorMessage = 'The file must be under 2 MiB.'; opt.adReportErrorText = 'Error uploading ad report.'; opt.adReportThanksText = 'Thanks for your feedback. We’ll review this against our code of conduct and take action if necessary.'; opt.adReportLoginExpiredMessage = 'Your login session has expired, please login and try again.'; opt.adReportLoginErrorMessage = 'An error occurred when loading the report form - please try again'; opt.adReportModalClass = 'js-ad-report'; opt.countryCode = 'SG'; opt.qualtricsSurveyData = '{"isRegistered":"False","repBucket":"new","referrer":"https%3a%2f%2fstackoverflow.com%2fquestions%2ftagged%2fgoogle-identity","accountAge":"0"}'; opt.perRequestGuid = '344b8ed9-14d3-403c-8f88-e8901422825c'; opt.responseHash = 'lRBY/&#x2B;y1lJ1vIobADm4Gc1ZM89qVMUzFSVtTukqB5KA='; opt.targeting.TargetingConsent = ['False_Passive']; opt.allowAccountTargetingForThisRequest = !1; const urlParams = new URLSearchParams(window.location.search); if (urlParams.has('dfptestads')) { const dfptestads = urlParams.get('dfptestads'); opt.targeting.DfpTestAds = dfptestads; } </script> <script>;(()=>{"use strict";var __webpack_modules__={23:(e,t,s)=>{s.d(t,{Z7:()=>c,eq:()=>l,kG:()=>d});const n="248424177",o=(a=location.pathname,/^\/tags\//.test(a)||/^\/questions\/tagged\//.test(a)?"tag-pages":/^\/discussions\//.test(a)||/^\/beta\/discussions/.test(a)?"discussions":/^\/$/.test(a)||/^\/home/.test(a)?"home-page":/^\/jobs$/.test(a)||/^\/jobs\//.test(a)?"jobs":"question-pages");var a;let i=location.hostname;const r={slots:{lb:[[728,90]],mlb:[[728,90]],smlb:[[728,90]],bmlb:[[728,90]],sb:e=>"dfp-tsb"===e?[[300,250],[300,600]]:[[300,250]],"tag-sponsorship":[[730,135]],"mobile-below-question":[[320,50],[300,250]],msb:[[300,250],[300,600]],"talent-conversion-tracking":[[1,1]],"site-sponsorship":[[230,60]]},ids:{"dfp-tlb":"lb","dfp-mlb":"mlb","dfp-smlb":"smlb","dfp-bmlb":"bmlb","dfp-tsb":"sb","dfp-isb":"sb","dfp-tag":"tag-sponsorship","dfp-msb":"msb","dfp-sspon":"site-sponsorship","dfp-m-aq":"mobile-below-question"},idsToExcludeFromAdReports:["dfp-sspon"]};function d(){return Object.keys(r.ids)}function l(e){return r.idsToExcludeFromAdReports.indexOf(e)<0}function c(e,t){var s=e.split("_")[0];const a=r.ids[s];let d=r.slots[a];return"function"==typeof d&&(d=d(s)),{path:`/${n}/${t||i}/${a}/${o}`,sizes:d,zone:a}}},865:(e,t,s)=>{function n(e){return"string"==typeof e?document.getElementById(e):e}function o(e){return!!(e=n(e))&&"none"===getComputedStyle(e).display}function a(e){return!o(e)}function i(e){return!!e}function r(e){return/^\s*$/.test(n(e).innerHTML)}function d(e){const{style:t}=e;t.height=t.maxHeight=t.minHeight="auto",t.display="none"}function l(e){const{style:t}=e;t.height=t.maxHeight=t.minHeight="auto",t.display="none",[].forEach.call(e.children,l)}function c(e){const{style:t}=e;t.height=t.maxHeight=t.minHeight="auto",t.removeProperty("display")}function g(e){const t=document.createElement("script");t.src=e,document.body.appendChild(t)}function p(e){return s=e,(t=[]).push=function(e){return s(),delete this.push,this.push(e)},t;var t,s}function h(e){let t="function"==typeof HTMLTemplateElement;var s=document.createElement(t?"template":"div");return e=e.trim(),s.innerHTML=e,t?s.content.firstChild:s.firstChild}s.d(t,{$Z:()=>c,Bv:()=>h,Gx:()=>g,Nj:()=>n,QZ:()=>p,cf:()=>d,pn:()=>a,wo:()=>l,xb:()=>r,xj:()=>o,yb:()=>i})},763:(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{t:()=>AdReports});var _common_helper__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(865),_console__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(276),_ad_units__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(23);class AdReports{constructor(e,t){if(this.googletag=e,this.cam=t,this.allowedFileTypes=["image/png","image/jpg","image/jpeg"],this.ignoreValidation=!1,_console__WEBPACK_IMPORTED_MODULE_1__.cM("Ad reporting init"),this.cam=t,this.callOnButtonClick=e=>this.onButtonClick(e),this.googletag.pubads().addEventListener("slotRenderEnded",e=>this.handleSlotRendered(e)),Array.isArray(t.slotsRenderedEvents)){_console__WEBPACK_IMPORTED_MODULE_1__.cM("Adding report button to "+t.slotsRenderedEvents.length+" events that have transpired");for(var s=0;s<t.slotsRenderedEvents.length;s++)this.handleSlotRendered(t.slotsRenderedEvents[s])}}handleSlotRendered(e){if(e&&e.slot&&!e.isEmpty&&(e.creativeId||e.lineItemId||!e.isEmpty)){var t=e.slot.getSlotElementId();if(t){var s=document.getElementById(t);if(s)if((0,_ad_units__WEBPACK_IMPORTED_MODULE_0__.eq)(t)){var n=s?.closest(".js-zone-container")?.querySelector(".js-report-ad-button-container");n?(n.innerHTML="",n.append(this.createButton(e)),n.style.height="24px",_console__WEBPACK_IMPORTED_MODULE_1__.cM("Added report button to the bottom of "+t)):_console__WEBPACK_IMPORTED_MODULE_1__.cM("Ad report button not found, may be intentional, element: "+t)}else _console__WEBPACK_IMPORTED_MODULE_1__.cM("Not adding report button to the bottom of "+t+": shouldHaveReportButton = false");else _console__WEBPACK_IMPORTED_MODULE_1__.cM("Not adding report button to the bottom of "+t+": resolved invalid adUnit element")}else _console__WEBPACK_IMPORTED_MODULE_1__.cM("Not adding report button to the bottom of element: invalid adUnitElementId")}else _console__WEBPACK_IMPORTED_MODULE_1__.cM("Not adding report button to the bottom of element: invalid SlotRenderEndedEvent")}async onButtonClick(e){e.preventDefault();let t=e.target;const s=t.dataset.modalUrl,n=t.dataset.googleEventData;return await this.loadModal(s,t,n),!1}createButton(e){let t=document.createElement("button");var s=JSON.stringify(e);return t.dataset.googleEventData=s,t.dataset.modalUrl=this.cam.opt.adReportUrl,t.dataset.adUnit=e.slot.getSlotElementId(),t.classList.add("js-report-ad","s-btn","s-btn__link","fs-fine","mt2","float-right"),t.append(document.createTextNode(this.cam.opt.adReportText)),t.removeEventListener("click",this.callOnButtonClick),t.addEventListener("click",this.callOnButtonClick),t}async loadModal(url,$link,googleEventData){try{await window.StackExchange.helpers.loadModal(url,{returnElements:window.$($link)}),this.initForm(googleEventData)}catch(e){var message="",response=e.responseText?eval(`(${e.responseText})`):null;message=response&&response.isLoggedOut?this.cam.opt.adReportLoginExpiredMessage:this.cam.opt.adReportLoginErrorMessage,window.StackExchange.helpers.showToast(message,{type:"danger"})}}removeModal(){window.StackExchange.helpers.closePopups(document.querySelectorAll("."+this.cam.opt.adReportModalClass),"dismiss")}initForm(e,t=!1){this.ignoreValidation=t,this.$form=document.querySelector(".js-ad-report-form"),this.$googleEventData=this.$form.querySelector(".js-json-data"),this.$adReportReasons=this.$form.querySelectorAll(".js-ad-report-reason"),this.$adReportReasonOther=this.$form.querySelector(".js-ad-report-reason-other"),this.$fileUploaderInput=this.$form.querySelector(".js-file-uploader-input"),this.$imageUploader=this.$form.querySelector(".js-image-uploader"),this.$clearImageUpload=this.$form.querySelector(".js-clear-image-upload"),this.$imageUploaderText=this.$form.querySelector(".js-image-uploader-text"),this.$imageUploaderPreview=this.$form.querySelector(".js-image-uploader-preview"),this.$fileErrorMessage=this.$form.querySelector(".js-file-error");const s=this.$form.querySelector(".js-drag-drop-enabled"),n=this.$form.querySelector(".js-drag-drop-disabled");this.$googleEventData.value=e,this.$adReportReasons.forEach((e,t)=>e.addEventListener("change",e=>{this.$adReportReasonOther.classList.toggle("d-none","3"!==e.target.value)})),this.$fileUploaderInput.addEventListener("change",()=>{this.validateFileInput()&&this.updateImagePreview(this.$fileUploaderInput.files)}),this.$clearImageUpload.addEventListener("click",e=>{e.preventDefault(),this.clearImageUpload()});try{this.$fileUploaderInput[0].value="",this.$imageUploader.addEventListener("dragenter dragover dragleave drop",this.preventDefaults),this.$imageUploader.addEventListener("dragenter dragover",this.handleDragStart),this.$imageUploader.addEventListener("dragleave drop",this.handleDragEnd),this.$imageUploader.addEventListener("drop",this.handleDrop)}catch(e){s.classList.add("d-none"),n.classList.remove("d-none")}this.$form.removeEventListener("",this.handleDragEnd),this.$form.addEventListener("submit",async e=>(e.preventDefault(),this.submitForm(),!1))}clearImageUpload(){this.$fileUploaderInput.value="",this.$imageUploaderPreview.setAttribute("src",""),this.$imageUploaderPreview.classList.add("d-none"),this.$clearImageUpload.classList.add("d-none"),this.$imageUploaderText.classList.remove("d-none"),this.$imageUploader.classList.add("p16","ba","bas-dashed","bc-black-100")}preventDefaults(e){e.preventDefault(),e.stopPropagation()}handleDragStart(e){this.$imageUploader.classList.remove("bas-dashed"),this.$imageUploader.classList.add("bas-solid","bc-black-100")}handleDragEnd(e){this.$imageUploader.classList.remove("bas-solid","bc-black-100"),this.$imageUploader.classList.add("bas-dashed")}handleDrop(e){var t=e.originalEvent.dataTransfer.files;FileReader&&t&&1===t.length&&(this.$fileUploaderInput.files=t,this.validateFileInput()&&this.updateImagePreview(t))}setError(e){this.$fileErrorMessage.parentElement.classList.toggle("has-error",e)}updateImagePreview(e){this.$imageUploader.classList.remove("p16","ba","bas-dashed","bc-black-100"),this.$clearImageUpload.classList.remove("d-none"),this.$imageUploaderText.classList.add("d-none");var t=new FileReader;t.onload=e=>{null!=e.target&&(this.$imageUploaderPreview.setAttribute("src",e.target.result),this.$imageUploaderPreview.classList.remove("d-none"))},t.readAsDataURL(e[0])}validateFileInput(){if(this.ignoreValidation)return!0;const e=this.cam.opt.adReportFileTypeErrorMessage,t=this.cam.opt.adReportFileSizeErrorMessage;if(null==this.$fileUploaderInput.files)return!1;var s=this.$fileUploaderInput.files[0];return null==s?(this.setError(!0),!1):this.allowedFileTypes.indexOf(s.type)<0?(this.$fileErrorMessage.textContent=e,this.$fileErrorMessage.classList.remove("d-none"),this.setError(!0),!1):s.size>2097152?(this.$fileErrorMessage.textContent=t,this.$fileErrorMessage.classList.remove("d-none"),this.setError(!0),!1):(this.$fileErrorMessage.classList.add("d-none"),this.setError(!1),!0)}async gatherDiagnosticInfo(){return{BrowserVersion:await this.getBrowserVersion()}}getElementSource(e){return e.outerHTML}getNestedIFrameElement(e){var t=e.querySelector("iframe");return t.contentDocument?t.contentDocument.documentElement:t.contentWindow.document.documentElement}async getBrowserVersion(){return await navigator.userAgentData.getHighEntropyValues(["fullVersionList"]).then(e=>JSON.stringify(e.fullVersionList))}async submitForm(){if(!this.validateFileInput())return!1;this.$form.querySelector("[type=submit]").setAttribute("disabled","true");var e=JSON.parse(this.$googleEventData.value||"{}");e.Reason=parseInt(this.$form.querySelector(".js-ad-report-reason:checked").value,10),e.Description=this.$adReportReasonOther.value,this.$googleEventData.value=JSON.stringify(e);var t=new FormData(this.$form);if("1"===t.get("shareDiagnosticInfo")){var s=await this.gatherDiagnosticInfo();Object.keys(s).forEach(e=>t.append(e,s[e]))}try{const e=await window.fetch(this.$form.getAttribute("action"),{method:this.$form.getAttribute("method"),body:t,cache:"no-cache"}),s=e.headers.get("content-type")||"",o=await e.text();if(!e.ok)throw new Error("response not valid");if(0===s.indexOf("text/html")){var n=(0,_common_helper__WEBPACK_IMPORTED_MODULE_2__.Bv)(o);const e=n?n.querySelector(".js-modal-content"):null;if(_console__WEBPACK_IMPORTED_MODULE_1__.cM("$popupContent"),_console__WEBPACK_IMPORTED_MODULE_1__.cM(e),!e)throw new Error(`Could not find .js-modal-content in response from ${this.$form.getAttribute("action")}`);document.querySelector(".js-modal-content").replaceWith(e)}else window.StackExchange.helpers.showToast(this.cam.opt.adReportThanksText,{type:"success"}),this.removeModal()}catch(e){window.StackExchange.helpers.showToast(this.cam.opt.adReportErrorText,{type:"danger"})}finally{let e=this.$form.querySelector("[type=submit]");e&&e.removeAttribute("disabled")}}}},276:(e,t,s)=>{function n(...e){}function o(...e){}s.d(t,{cM:()=>n,vU:()=>o})}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var s=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e](s,s.exports,__webpack_require__),s.exports}__webpack_require__.d=(e,t)=>{for(var s in t)__webpack_require__.o(t,s)&&!__webpack_require__.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var __webpack_exports__={};(()=>{var e=__webpack_require__(276),t=(e=>(e[e.Above=0]="Above",e[e.Below=1]="Below",e))(t||{});const s=Object.assign({},{"lib":"https://clc.stackoverflow.com/Content/bundles/js/gam_loader_script.bundle.741.5deb8dc1a671bfb1646b.js?v=7178a92a336c","style":null,"u":null,"wa":true,"kt":2000,"tto":true,"h":"clc.stackoverflow.com","allowed":"^(((talent\\.)?stackoverflow)|(blog\\.codinghorror)|(.*\\.googlesyndication)|(serverfault|askubuntu|superuser)|([^\\.]+\\.stackexchange))\\.com$","wv":true,"al":false,"abd":true,"cpa_liid":[5882654614],"cpa_cid":[138377597667],"dp":false,"tgt_to":1000,"tgt_u":"https://clc.stackoverflow.com/get-user-acct-tgt","tgt_e":true,"tgt_p":100,"dv_enabled":false,"upo":""});var n=__webpack_require__(23),o=__webpack_require__(865),a=__webpack_require__(763);class i{constructor(t,s){this.googletag=t,this.interval=s,e.cM("Ad refresh init. interval: "+s),this.googletag.pubads().addEventListener("impressionViewable",e=>this.onImpressionViewable(e)),e.cM("done enabling ad refresh")}onImpressionViewable(t){var s=t.slot;e.cM("ad refresh - slot "+s.getSlotElementId()+" is viewable, initializing refresh"),this.scheduleRefresh(s)}scheduleRefresh(e){setTimeout(()=>this.refreshAdSlot(e),1e3*this.interval)}static refreshMyAd(t,s){let n=t.pubads().getSlots().find(e=>e.getSlotElementId()===s);n&&(e.cM("refreshMyAd - refreshing ad slot "+s),t.pubads().refresh([n]))}static removeMyAd(t,s){let n=t.pubads().getSlots().find(e=>e.getSlotElementId()===s);n&&(e.cM("removeMyAd - destroying ad slot "+s),t.destroySlots([n]))}refreshAdSlot(t){var s=t.getSlotElementId();this.isElementVisibleInBrowser(s)?(e.cM("refreshing ad slot "+s),googletag.pubads().refresh([t])):(e.cM("refresh skipped this time; ad slot not viewable:"+s),this.scheduleRefresh(t))}isElementVisibleInBrowser(e){var t=document.getElementById(e);if(null!==t){var s=t.getBoundingClientRect();if(s.top>=0&&s.left>=0&&s.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&s.right<=(window.innerWidth||document.documentElement.clientWidth))return!0}return!1}}var r=(e=>(e.Off="Off",e.PreSurvey="PreSurvey",e.Collect="Collect",e.PostSurvey="PostSurvey",e))(r||{});class d{constructor(e,t){this.lineItemImpressions=[],this.surveysIdsCompleted=[],this.lineItemImpressions=e,this.surveysIdsCompleted=t}addImpression(e,t){let s={brandId:e,lineItemId:t,timestamp:new Date};this.lineItemImpressions.push(s)}addBrandSurveyCompleted(e){-1===this.surveysIdsCompleted.indexOf(e)&&this.surveysIdsCompleted.push(e)}getTotalBrandImpressions(){let e=new Map;for(let t of this.lineItemImpressions)if(e.has(t.brandId)){let s=e.get(t.brandId);e.set(t.brandId,s+1)}else e.set(t.brandId,1);return e}getBrandLineItemImpressions(e){let t={};for(let s of this.lineItemImpressions)if(s.brandId==e)if(void 0!==t[s.lineItemId]){let e=t[s.lineItemId];t[s.lineItemId]=e+1}else t[s.lineItemId]=1;return t}}class l{constructor(){this.surveyEngagementLocalStorageKey="clc-survey-engagement"}getBrandSurveyEngagement(){let e=localStorage.getItem(this.surveyEngagementLocalStorageKey);if(null===e)return new d([],[]);let t=JSON.parse(e);return new d(t.lineItemImpressions,t.surveysIdsCompleted)}saveBrandSurveyEngagement(e){let t=JSON.stringify(e);localStorage.setItem(this.surveyEngagementLocalStorageKey,t)}}class c{constructor(){this.surveyRepository=new l}getBrandSurveyEngagement(){return this.surveyRepository.getBrandSurveyEngagement()}recordImpression(e,t){let s=this.getBrandSurveyEngagement();s.addImpression(e,t),this.surveyRepository.saveBrandSurveyEngagement(s)}recordBrandSurveyCompleted(e){let t=this.getBrandSurveyEngagement();t.addBrandSurveyCompleted(e),this.surveyRepository.saveBrandSurveyEngagement(t)}}class g{constructor(t,s){this.googletag=t,this.brandSettings=s,this.brandSlotMap=new Map,this.brandSurveyEngagementService=new c,e.cM("Brand Survey init: "+JSON.stringify(s)),void 0!==s?(this.googletag.pubads().addEventListener("slotRenderEnded",e=>this.handleSlotRendered(e)),this.googletag.pubads().addEventListener("impressionViewable",e=>this.onImpressionViewable(e)),e.cM("done enabling Brand Survey")):e.cM("Brand Survey init: brandSettings is undefined, not initializing")}handleSlotRendered(t){e.cM("Brand Survey - slot rendered - slot:"+JSON.stringify(t.slot.getSlotElementId())+" lineItem: "+t.lineItemId);let s=this.findItemWithId(t.lineItemId);if(null===s||s.mode!==r.Collect)this.brandSlotMap.delete(t.slot.getSlotElementId());else{let e={brandId:s.brandId,lineItemId:t.lineItemId};this.brandSlotMap.set(t.slot.getSlotElementId(),e)}}onImpressionViewable(t){let s=t.slot;if(e.cM("ad - Brand Survey - impression viewable. Details: "+JSON.stringify(s.getSlotElementId())),e.cM("ad - Brand Survey - slot "+s.getSlotElementId()+" is viewable"),this.brandSlotMap.has(s.getSlotElementId())){let t=this.brandSlotMap.get(s.getSlotElementId());e.cM("Brand Survey - brand "+t.brandId+" is viewable"),this.recordImpression(this.brandSlotMap.get(s.getSlotElementId()))}}recordImpression(t){e.cM("ad - Brand Survey - recording impression for brand "+t.brandId),this.brandSurveyEngagementService.recordImpression(t.brandId,t.lineItemId)}findItemWithId(t){return e.cM("brand settings: "+JSON.stringify(this.brandSettings)),this.brandSettings.find(e=>e.lineItemIds.includes(t))||null}}const p="response-brand-survey-submit|",h="request-brand-survey-metadata|",m="record-metric-on-server|",u="request-dsp-tags",f="response-dsp-tags|";class _{static refreshAdIfBrandSurveyIsDuplicated(e,t,s){if(this.alreadyCompletedThisBrandSurvey(t)){var n=document.getElementById(s).closest(".js-zone-container");i.removeMyAd(e,s),n&&n.remove()}}static alreadyCompletedThisBrandSurvey(e){return(new c).getBrandSurveyEngagement().surveysIdsCompleted.includes(e)}}window.cam=new class{constructor(t=null){if(this.gptImported=!1,this.slotsRenderedEvents=[],this.collapsed={},e.cM("constructor"),this.clc_options=s,window.clcGamLoaderOptions)Object.assign(this,window.clcGamLoaderOptions);else if(void 0===this.opt){let e=window.opt;e&&(this.opt=e)}}init(){if(e.cM("init"),void 0===this.opt)throw new Error("opt not set, required by GAM Loader");e.cM("init brand survey service"),this.getUserMetaPromise=this.getUserMeta(),e.cM("setup message handler"),window.addEventListener("message",e=>{this.onmessage(e)})}handleSlotRenderedNoAdReport(){if(googletag.pubads().addEventListener("slotRenderEnded",e=>this.applyExtraMarginBottom(e)),Array.isArray(this.slotsRenderedEvents))for(var e=0;e<this.slotsRenderedEvents.length;e++)this.applyExtraMarginBottom(this.slotsRenderedEvents[e])}onmessage(t){let s="omni";if(t.data&&("string"==typeof t.data||t.data instanceof String))if(0===t.data.indexOf("get-omni-")){e.cM("Recevied get-omni message, sending back omni");var n=t.source,a=this.opt.omni,i="string"==typeof a?a:"";n.postMessage([s,i,this.opt.perRequestGuid].join("|"),"*")}else if(0===t.data.indexOf("collapse-")){e.cM("Recevied collapse message, collapse ad iframe"),e.cM(t);for(var r=t.source.window,d=document.getElementsByTagName("IFRAME"),l=0;l<d.length;l++){var g=d[l];if(g.contentWindow==r)return void(0,o.wo)(g.parentElement.parentElement.parentElement)}}else if(0===t.data.indexOf("resize|")){e.cM("Recevied resize message, resize ad iframe"),e.cM(t);let s=this._getFrameByEvent(t),n=t.data.indexOf("|")+1,o=t.data.slice(n),a=parseFloat(o)+.5;e.cM("New iframe height "+a),s.height=a.toString(),s.parentElement.style.height=a.toString()+"px"}else if(0===t.data.indexOf("getmarkup|")){let s=t.data.indexOf("|")+1,n=t.data.slice(s);e.cM("Recevied get markup message: "+n);let o=this._getFrameByEvent(t).closest(".everyonelovesstackoverflow");const a=document.createElement("script");a.dataset.adZoneId=o.id,a.src=n,document.body.appendChild(a)}else if(0===t.data.indexOf("window-location|")){let s=t.data.indexOf("|")+1,n=t.data.slice(s);e.cM("Recevied window location message: "+n),n.startsWith("/")||(n="/"+n),window.open(window.location.protocol+"//"+window.location.host+n,"_blank")}else if(0===t.data.indexOf("request-brand-survey-submit|")){let s=t.data.split("|"),n=s[1],o=s[2],a=s[3],i=JSON.parse(a);e.cM(n),e.cM(o),e.cM(a),e.cM("Received brand survey "+n+" response message: "+o);var v=new FormData;for(var b in i)v.append(b,i[b]);let r=this._getFrameByEvent(t);if(_.alreadyCompletedThisBrandSurvey(+n))return e.cM("Already completed this brand survey. Not submitting duplicate to server."),void r.contentWindow.postMessage("response-brand-survey-submit-duplicate|","*");e.cM("Send the brand survey to the server"),fetch(o,{method:"POST",body:v}).then(e=>e.json()).then(e=>r.contentWindow.postMessage({messageType:p},"*")).catch(e=>r.contentWindow.postMessage({messageType:p},"*"))}else if(0===t.data.indexOf("brand-survey-completed-store|")){let s=t.data.split("|"),n=(s[1],s[2]);if(e.cM("Received brand survey completed store message for survey ID "+n),_.alreadyCompletedThisBrandSurvey(+n))return void e.cM("Already completed this brand survey. Not recording duplicate locally.");e.cM("Record brand survey completion locally"),(new c).recordBrandSurveyCompleted(+n)}else if(0===t.data.indexOf(h)){let s=t.data.split("|"),n=s[1],o=s[2];e.cM("Received message: "+h+" with Brand Survey ID "+o);let a=(new c).getBrandSurveyEngagement().getBrandLineItemImpressions(+n),i=JSON.stringify(a),r=this._getFrameByEvent(t);e.cM("sending impression data: "+i),r.contentWindow.postMessage("response-brand-survey-metadata|"+this.opt.responseHash+"|"+this.opt.perRequestGuid+"|"+i+"|"+this.opt.countryCode+"|"+this.opt.qualtricsSurveyData,"*")}else if(0===t.data.indexOf("refresh-if-duplicate-brand-survey|")){let e=t.data.split("|")[1],s=this.getSlotElementIdByEvent(t);_.refreshAdIfBrandSurveyIsDuplicated(googletag,+e,s)}else if(0===t.data.indexOf(m)){e.cM("Received message: "+m+" with args: "+t.data);let s=t.data.split("|"),n=s[1],o=s[2],a=s[3],i=s[4],r=new FormData;r.append("brandSurveyId",a.toString()),r.append("responseHash",this.opt.responseHash),r.append("perRequestGuid",this.opt.perRequestGuid),r.append("questionNumber",n.toString()),r.append("metricType",i.toString()),fetch(o,{method:"POST",body:r}).then(e=>e.ok).catch(t=>{e.cM("SendMetricToServer: Error sending metric to server: "+t)})}else if(0===t.data.indexOf(u)){e.cM("Received message: "+u+" with args: "+t.data);let s=this._getFrameByEvent(t);if(!this.opt.targeting["so-tag"])return void s.contentWindow.postMessage(f,"*");const n=this.opt.targeting["so-tag"].join(",");e.cM("sending targeting tags: "+n),s.contentWindow.postMessage(f+n,"*")}else e.cM("Received unhandled message")}getSlotElementIdByEvent(e){let t=this._getFrameByEvent(e),s=t.parentElement?.parentElement?.id;return s||""}_getFrameByEvent(e){return Array.from(document.getElementsByTagName("iframe")).filter(t=>t.contentWindow===e.source)[0]}classifyZoneIds(e){const t=e.map(o.Nj).filter(o.yb);return{eligible:t.filter(o.xb).filter(o.pn),ineligible:t.filter(o.xj)}}applyExtraMarginBottom(t){if(t&&t.slot&&!t.isEmpty&&(t.creativeId||t.lineItemId||!t.isEmpty)){var s=t.slot.getSlotElementId();if(s){var o=document.getElementById(s);if(o)if((0,n.eq)(s)){var a=o?.closest(".js-zone-container");a.style.marginBottom="24px",e.cM("Applied extra margin to the bottom of "+s)}else e.cM("Not applying extra margin to the bottom of "+s+": shouldHaveReportButton = false");else e.cM("Not applying extra margin to the bottom of "+s+": resolved invalid adUnit element")}else e.cM("Not applying extra margin to the bottom of element: invalid adUnitElementId")}else e.cM("Not applying extra margin to the bottom of element: invalid SlotRenderEndedEvent")}async load(s=(0,n.kG)()){const r=this.opt.tlb_position===t.Above?["dfp-mlb","dfp-smlb"]:["dfp-mlb","dfp-smlb","dfp-tlb"];if(!this.isGptReady())return e.cM("Initializing..."),this.initGpt(),void googletag.cmd.push(()=>this.load(s));this.opt.adReportEnabled?(e.cM("Ad reporting enabled"),this.adReports=new a.t(googletag,this)):(e.cM("Ad reporting not enabled"),this.handleSlotRenderedNoAdReport()),this.opt.refresh?(e.cM("Ad refresh enabled"),this.adRefresh=new i(googletag,this.opt.refreshInterval)):e.cM("Ad refresh not enabled"),this.opt.brandSurveyEnabled&&(e.cM("Brand Survey enabled"),this.brandSurvey=new g(googletag,this.opt.brandSurveySettings)),e.cM("Attempting to load ads into ids: ",s);const{eligible:d,ineligible:l}=this.classifyZoneIds(s);if(this.initDebugPanel(googletag,d.concat(l)),d.forEach(e=>(0,o.cf)(e)),l.forEach(o.wo),0===d.length)return void e.cM("Found no ad ids on page");e.cM("Eligible ids:",d),this.opt.abd&&this.appendAdblockDetector();var c=googletag.pubads().getSlots();if(c){var p=c.filter(e=>s.indexOf(e.getSlotElementId())>=0);googletag.destroySlots(p)}this.opt.sf&&(googletag.pubads().setForceSafeFrame(!0),googletag.pubads().setSafeFrameConfig({allowOverlayExpansion:!0,allowPushExpansion:!0,sandbox:!0})),e.cM("Targeting consent: Checking...");let h=!1,m=!1;void 0!==this.opt.targeting_consent&&(m=!0,e.cM("Targeting consent: Parameter set"),e.cM("Targeting consent: Consent given? ",this.opt.targeting_consent),h=this.opt.targeting_consent),void 0!==this.opt.personalization_consent&&(e.cM("Personalization consent: Parameter set"),e.cM("Personalization consent: Consent given? ",this.opt.personalization_consent),h=h&&this.opt.personalization_consent),h=h&&m,this.setPrivacySettings(h),this.opt.ll||googletag.pubads().enableSingleRequest(),cam.sreEvent||(googletag.pubads().addEventListener("slotRenderEnded",e=>this.onSlotRendered(e)),cam.sreEvent=!0),await this.setTargeting();var u=d.filter(e=>!this.opt.ll||r.indexOf(e.id)<0),f=d.filter(e=>!!this.opt.ll&&r.indexOf(e.id)>=0);e.cM("Up front ids:",u),e.cM("Lazy loaded ids:",f),u.forEach(t=>{e.cM(`Defining ad for element ${t.id}`),this.defineSlot(t.id,googletag),t.setAttribute("data-dfp-zone","true")}),googletag.enableServices(),u.forEach(t=>{e.cM(`Displaying ad for element ${t.id}`),this.clc_options.dv_enabled?window.onDvtagReady(function(){googletag.display(t.id)}):googletag.cmd.push(()=>googletag.display(t.id))}),this.opt.ll&&(e.cM("Enabling lazy loading for GAM"),googletag.pubads().enableLazyLoad({fetchMarginPercent:0,renderMarginPercent:0}),e.cM("Setting up lazy loaded ad units"),f.forEach(t=>{e.cM(`Lazy loading - Defining Slot ${t.id}`),this.defineSlot(t.id,googletag)}),f.forEach(t=>{e.cM(`Lazy loading - Displaying ad for element ${t.id}`),this.clc_options.dv_enabled?window.onDvtagReady(function(){googletag.display(t.id)}):googletag.cmd.push(()=>googletag.display(t.id))}))}setPrivacySettings(e){e||googletag.pubads().setPrivacySettings({nonPersonalizedAds:!0})}async setTargeting(){if(!googletag)throw new Error("googletag not defined");let t=this.opt.targeting;if(!t)throw new Error("Targeting not defined (is "+typeof t+")");Object.keys(t).forEach(s=>{e.cM(`-> targeting - ${s}: ${t[s]}`),googletag.pubads().setTargeting(s,t[s])});let s=!1;if(void 0!==this.opt.targeting_consent&&(s=this.opt.targeting_consent),s){let t=(new c).getBrandSurveyEngagement();if(t.getTotalBrandImpressions().forEach((t,s)=>{e.cM(`-> targeting - BrandImpressions: ${s}: ${t}`),googletag.pubads().setTargeting("brand_"+s.toString()+"_impressions",t.toString())}),t.surveysIdsCompleted.forEach(t=>{e.cM(`-> targeting - SurveysTaken: ${t}`),googletag.pubads().setTargeting("survey_"+t+"_taken","true")}),this.clc_options.tgt_e&&this.getUserMetaPromise){let t=await this.getUserMetaPromise;t&&t.tgt_acct?(e.cM("-> targeting - User Account: "+t.tgt_acct),googletag.pubads().setTargeting("user-acct",t.tgt_acct.company_name),googletag.pubads().setTargeting("user_acct_top",t.tgt_acct.company_name),googletag.pubads().setTargeting("user_industry",t.tgt_acct.industry),googletag.pubads().setTargeting("user_employee_count",t.tgt_acct.employee_range)):e.cM("-> targeting - User Account: Not Found"),t&&Object.prototype.hasOwnProperty.call(t,"is_high_rep_earner")?(e.cM("-> targeting - High Rep Earner: "+t.is_high_rep_earner),googletag.pubads().setTargeting("IsHighRepEarner",t.is_high_rep_earner?"true":"false")):e.cM("-> targeting - High Rep Earner: not found")}if(localStorage){e.cM('Checking local storage for "jobs-last-clicked" key.');let t=localStorage.getItem("jobs-last-clicked")?"true":"false";e.cM(`-> targeting - jobs_clicked: ${t}`),googletag.pubads().setTargeting("jobs_clicked",t)}}}appendAdblockDetector(){const e=document.createElement("div");e.className="adsbox",e.id="clc-abd",e.style.position="absolute",e.style.pointerEvents="none",e.innerHTML="&nbsp;",document.body.appendChild(e)}onSlotRendered(s){try{const i=s.slot.getSlotElementId();let r=[];i||r.push("id=0");const d=document.getElementById(i);if(i&&!d&&r.push("el=0"),0!==r.length)return void this.stalled(r.join("&"));const{path:l,sizes:c,zone:g}=(0,n.Z7)(i,this.clc_options.upo);if(this.collapsed[g]&&s.isEmpty)return e.cM(`No line item for the element #${d.id}... collapsing.`),void(0,o.wo)(d);if(this.slotsRenderedEvents.push(s),s.lineItemId||s.creativeId||!s.isEmpty){e.cM(`Rendered ad for element #${d.id} [line item #${s.lineItemId}]`),e.cM(s);var a=d.parentElement;if(a.classList.contains("js-zone-container")){switch((0,o.cf)(a),i){case"dfp-tlb":this.opt.tlb_position===t.Above?a.classList.add("mb8"):a.classList.add("mt16");break;case"dfp-tag":a.classList.add("mb8");break;case"dfp-msb":a.classList.add("mt16");break;case"dfp-mlb":case"dfp-smlb":case"dfp-bmlb":a.classList.add("my8");break;case"dfp-isb":a.classList.add("mt24");break;case"dfp-m-aq":a.classList.add("my12"),a.classList.add("mx-auto")}(0,o.$Z)(a),(0,o.$Z)(d)}else e.cM(`No ad for element #${d.id}, collapsing`),e.cM(s),(0,o.wo)(d)}}catch(t){e.cM("Exception thrown onSlotRendered"),e.cM(t),this.stalled("e=1")}}stalled(e){(new Image).src=`https://${this.clc_options.h}/stalled.gif?${e}`}defineSlot(t,s){"dfp-isb"===t&&(e.cM("-> targeting - Sidebar: Inline"),s.pubads().setTargeting("Sidebar",["Inline"])),"dfp-tsb"===t&&(e.cM("-> targeting - Sidebar: Right"),s.pubads().setTargeting("Sidebar",["Right"]));const{path:o,sizes:a,zone:i}=(0,n.Z7)(t,this.clc_options.upo);e.cM(`Defining slot for ${t}: ${o}, sizes: ${JSON.stringify(a)}`),s.defineSlot(o,a,t).addService(s.pubads())}importGptLibrary(){this.gptImported||(this.gptImported=!0,void 0===this.opt.targeting_consent||this.opt.targeting_consent?(0,o.Gx)("https://securepubads.g.doubleclick.net/tag/js/gpt.js"):(0,o.Gx)("https://pagead2.googlesyndication.com/tag/js/gpt.js"))}importDvLibrary(){this.clc_options.dv_enabled&&(e.cM("Adding DoubleVerify library"),(0,o.Gx)("https://pub.doubleverify.com/dvtag/21569774/DV1289064/pub.js"),e.cM("Adding DoubleVerify onDvtagReady handler"),window.onDvtagReady=function(t,s=750){e.cM("DoubleVerify onDvtagReady called"),window.dvtag=window.dvtag||{},dvtag.cmd=dvtag.cmd||[];const n={callback:t,timeout:s,timestamp:(new Date).getTime()};dvtag.cmd.push(function(){dvtag.queueAdRequest(n)}),setTimeout(function(){const e=n.callback;n.callback=null,e&&e()},s)})}isGptReady(){return"undefined"!=typeof googletag&&!!googletag.apiReady}initGpt(){"undefined"==typeof googletag&&(window.googletag={cmd:(0,o.QZ)(()=>{this.importGptLibrary(),this.importDvLibrary()})})}getUserMeta(){if(this.opt.allowAccountTargetingForThisRequest&&this.clc_options.tgt_e&&this.clc_options.tgt_p>0){if(e.cM("Targeting enabled."),this.clc_options.tgt_p<100){e.cM("Targeting rate limit enabled. Rolling the dice...");const t=Math.floor(100*Math.random())+1;if(e.cM("Rolled "+t+" and the max is "+this.clc_options.tgt_p),t>this.clc_options.tgt_p)return void e.cM("Will not request targeting.")}return e.cM("Will request targeting."),function(e,t,s,n){if(t){const t=new Headers;return t.append("Accept","application/json"),async function(e,t={},s=5e3){if("number"!=typeof s&&null!=s&&!1!==s){if("string"!=typeof s)throw new Error("fetchWithTimeout: timeout must be a number");if(s=parseInt(s),isNaN(s))throw new Error("fetchWithTimeout: timeout must be a number (or string that can be parsed to a number)")}const n=new AbortController,{signal:o}=n,a=fetch(e,{...t,signal:o}),i=setTimeout(()=>n.abort(),s);try{const e=await a;return clearTimeout(i),e}catch(e){throw clearTimeout(i),e}}(s+"?"+new URLSearchParams({omni:e}),{method:"GET",mode:"cors",headers:t},n).then(e=>e.json())}return Promise.reject("No consent")}(this.opt.omni,this.opt.targeting_consent,this.clc_options.tgt_u,this.clc_options.tgt_to).catch(t=>{e.vU("Error fetching user account targeting"),e.vU(t)})}e.cM("Targeting disabled. Will not request account targeting data.")}initDebugPanel(t,s){e.cM("initDebugPanel"),e.cM("Not showing debug panel.")}},window.clcGamLoaderOptions&&(cam.init(),cam.load())})()})();</script> <footer id="footer" class="site-footer js-footer theme-light__forced" role="contentinfo"> <div class="site-footer--container"> <div class="site-footer--logo"> <a href="https://stackoverflow.com" aria-label="Stack Overflow"><svg aria-hidden="true" class="native svg-icon iconGlyphMd" width="32" height="37" viewBox="0 0 32 37"><path fill="#BCBBBB" d="M26 33v-9h4v13H0V24h4v9z"/><path fill="#F48024" d="m21.5 0-2.7 2 9.9 13.3 2.7-2zM26 18.4 13.3 7.8l2.1-2.5 12.7 10.6zM9.1 15.2l15 7 1.4-3-15-7zm14 10.79.68-2.95-16.1-3.35L7 23zM23 30H7v-3h16z"/></svg></a> </div> <nav class="site-footer--nav" aria-label="Footer"> <div class="site-footer--col"> <h5 class="-title"><a href="https://stackoverflow.com" class="js-gps-track" data-gps-track="footer.click({ location: 5, link: 15})">Stack Overflow</a></h5> <ul class="-list js-primary-footer-links"> <li><a href="/questions" class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 16})">Questions</a></li> <li><a href="/help" class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 3 })">Help</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 5 })" href="https://chat.stackoverflow.com/?tab=site&host=stackoverflow.com">Chat</a></li> </ul> </div> <div class="site-footer--col"> <h5 class="-title"><a href="https://stackoverflow.co/" class="js-gps-track" data-gps-track="footer.click({ location: 5, link: 19 })">Products</a></h5> <ul class="-list"> <li><a href="https://stackoverflow.co/teams/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=footer&utm_content=teams" class="js-gps-track -link" data-ga="[&quot;teams traffic&quot;,&quot;footer - site nav&quot;,&quot;stackoverflow.com/teams&quot;,null,{&quot;dimension4&quot;:&quot;teams&quot;}]" data-gps-track="footer.click({ location: 5, link: 29 })">Teams</a></li> <li><a href="https://stackoverflow.co/advertising/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=footer&utm_content=advertising" class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 21 })">Advertising</a></li> <li><a href="https://stackoverflow.co/advertising/employer-branding/?utm_medium=referral&utm_source=stackoverflow-community&utm_campaign=footer&utm_content=talent" class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 20 })">Talent</a></li> </ul> </div> <div class="site-footer--col"> <h5 class="-title"><a class="js-gps-track" data-gps-track="footer.click({ location: 5, link: 1 })" href="https://stackoverflow.co/">Company</a></h5> <ul class="-list"> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 1 })" href="https://stackoverflow.co/">About</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 27 })" href="https://stackoverflow.co/company/press/">Press</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 9 })" href="https://stackoverflow.co/company/work-here/">Work Here</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 7 })" href="https://stackoverflow.com/legal">Legal</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 8 })" href="https://stackoverflow.com/legal/privacy-policy">Privacy Policy</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 37 })" href="https://stackoverflow.com/legal/terms-of-service/public">Terms of Service</a></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 13 })" href="/contact">Contact Us</a></li> <li id="consent-footer-link"><button type="button" data-controller="cookie-settings" data-action="click->cookie-settings#toggle" class="s-btn s-btn__link py4 js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 38 })" data-consent-popup-loader="footer">Cookie Settings</button></li> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link: 39 })" href="https://stackoverflow.com/legal/cookie-policy">Cookie Policy</a></li> </ul> </div> <div class="site-footer--col site-footer--categories-nav"> <div> <h5 class="-title"><a href="https://stackexchange.com" data-gps-track="footer.click({ location: 5, link: 30 })">Stack Exchange Network</a></h5> <ul class="-list"> <li> <a href="https://stackexchange.com/sites#technology" class="-link js-gps-track" data-gps-track="footer.click({ location: 5, link: 24 })"> Technology </a> </li> <li> <a href="https://stackexchange.com/sites#culturerecreation" class="-link js-gps-track" data-gps-track="footer.click({ location: 5, link: 24 })"> Culture &amp; recreation </a> </li> <li> <a href="https://stackexchange.com/sites#lifearts" class="-link js-gps-track" data-gps-track="footer.click({ location: 5, link: 24 })"> Life &amp; arts </a> </li> <li> <a href="https://stackexchange.com/sites#science" class="-link js-gps-track" data-gps-track="footer.click({ location: 5, link: 24 })"> Science </a> </li> <li> <a href="https://stackexchange.com/sites#professional" class="-link js-gps-track" data-gps-track="footer.click({ location: 5, link: 24 })"> Professional </a> </li> <li> <a href="https://stackexchange.com/sites#business" class="-link js-gps-track" data-gps-track="footer.click({ location: 5, link: 24 })"> Business </a> </li> <li class="mt16 md:mt0"> <a href="https://api.stackexchange.com/" class="-link js-gps-track" data-gps-track="footer.click({ location: 5, link: 24 })"> API </a> </li> <li> <a href="https://data.stackexchange.com/" class="-link js-gps-track" data-gps-track="footer.click({ location: 5, link: 24 })"> Data </a> </li> </ul> </div> </div> </nav> <div class="site-footer--copyright fs-fine md:mt24"> <ul class="-list -social md:mb8"> <li><a class="js-gps-track -link" data-gps-track="footer.click({ location: 5, link:4 })" href="https://stackoverflow.blog?blb=1">Blog</a></li> <li><a href="https://www.facebook.com/officialstackoverflow/" class="-link js-gps-track" data-gps-track="footer.click({ location: 5, link: 31 })">Facebook</a></li> <li><a href="https://twitter.com/stackoverflow" class="-link js-gps-track" data-gps-track="footer.click({ location: 5, link: 32 })">Twitter</a></li> <li><a href="https://linkedin.com/company/stack-overflow" class="-link js-gps-track" data-gps-track="footer.click({ location: 5, link: 33 })">LinkedIn</a></li> <li><a href="https://www.instagram.com/thestackoverflow" class="-link js-gps-track" data-gps-track="footer.click({ location: 5, link: 36 })">Instagram</a></li> </ul> <p class="md:mb0"> <span>Site design / logo © 2025 Stack Exchange Inc; </span> <span>user contributions licensed under </span> <a class="-link s-link td-underline" href="https://stackoverflow.com/help/licensing">CC BY-SA</a> <span>. </span> <span id="svnrev">rev&nbsp;2025.2.14.22661</span> </p> </div> </div> </footer> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-WCZ03SZFCQ"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } </script> <script> StackExchange.ready(function() { var ga3Settings = { autoLink: ["stackoverflow.blog","info.stackoverflowsolutions.com","stackoverflowsolutions.com"], sendTitles: true, tracker: window.ga, trackingCodes: [ 'UA-108242619-1' ], checkDimension: 'dimension42' }; var customGA4Dimensions = {}; customGA4Dimensions["requestid"] = "344b8ed9-14d3-403c-8f88-e8901422825c"; customGA4Dimensions["routename"] = "Questions/ListByTag"; customGA4Dimensions["tags"] = "|google-identity|"; var ga4Settings = { tracker: gtag, trackingCodes: [ 'G-WCZ03SZFCQ' ], consentsToPerformanceCookies: "denied", consentsToTargetingCookies: "denied", eventParameters: customGA4Dimensions, checkForAdBlock: true, sendTitles: true, trackClicks: false, }; StackExchange.ga.init({ GA3: ga3Settings, GA4: ga4Settings }); StackExchange.ga.setDimension('dimension2', '|google-identity|'); StackExchange.ga.setDimension('dimension3', 'Questions/ListByTag'); StackExchange.ga.setDimension('dimension7', "1739776788.783922091"); StackExchange.ga.trackPageView(); }); </script> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" charset="UTF-8" data-document-language="true" data-domain-script="c3d9f1e3-55f3-4eba-b268-46cee4c6789c"></script> <script defer src="https://cdn.sstatic.net/Js/modules/cookie-consent.en.js?v=36bebc18e04f"></script> <script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'913402de7c3cfd32',t:'MTczOTc3Njc4OC4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10