/*! elementor-pro - v3.26.0 - 17-12-2024 */ (()=>{"use strict";class Screenshot extends elementorModules.ViewModule{getDefaultSettings(){return{empty_content_headline:"Empty Content.",crop:{width:1200,height:1500},excluded_external_css_urls:["https://kit-pro.fontawesome.com"],external_images_urls:["https://i.ytimg.com"],timeout:15e3,render_timeout:5e3,timerLabel:null,timer_label:`${ElementorScreenshotConfig.post_id} - timer`,image_placeholder:"data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=",isDebug:elementorCommonConfig.isElementorDebug,isDebugSvg:!1,...ElementorScreenshotConfig}}getDefaultElements(){const e=jQuery(ElementorScreenshotConfig.selector),t=e.find(".elementor-section-wrap > .elementor-section, .elementor > .elementor-section");return{$elementor:e,$sections:t,$firstSection:t.first(),$notElementorElements:elementorCommon.elements.$body.find("> *:not(style, link)").not(e),$head:jQuery("head")}}onInit(){return super.onInit(),this.log("Screenshot init","time"),this.timeoutTimer=setTimeout(this.screenshotFailed.bind(this),this.getSettings("timeout")),this.captureScreenshot()}captureScreenshot(){return this.elements.$elementor.length||(elementorCommon.helpers.consoleWarn("Screenshots: The content of this page is empty, the module will create a fake conent just for this screenshot."),this.createFakeContent()),this.removeUnnecessaryElements(),this.handleIFrames(),this.removeFirstSectionMargin(),this.handleLinks(),this.loadExternalCss(),this.loadExternalImages(),Promise.resolve().then(this.createImage.bind(this)).then(this.createImageElement.bind(this)).then(this.cropCanvas.bind(this)).then(this.save.bind(this)).then(this.screenshotSucceed.bind(this)).catch(this.screenshotFailed.bind(this))}createFakeContent(){this.elements.$elementor=jQuery("
").css({height:this.getSettings("crop.height"),width:this.getSettings("crop.width"),display:"flex",alignItems:"center",justifyContent:"center"}),this.elements.$elementor.append(jQuery("

").css({fontSize:"85px"}).html(this.getSettings("empty_content_headline"))),document.body.prepend(this.elements.$elementor)}loadExternalCss(){const e=[this.getSettings("home_url"),...this.getSettings("excluded_external_css_urls")].map((e=>`[href^="${e}"]`)).join(", ");jQuery("link").not(e).each(((e,t)=>{const s=jQuery(t),n=s.clone();n.attr("href",this.getScreenshotProxyUrl(s.attr("href"))),this.elements.$head.append(n),s.remove()}))}loadExternalImages(){const e=this.getSettings("external_images_urls").map((e=>`img[src^="${e}"]`)).join(", ");jQuery(e).each(((e,t)=>{const s=jQuery(t);s.attr("src",this.getScreenshotProxyUrl(s.attr("src")))}))}handleIFrames(){this.elements.$elementor.find("iframe").each(((e,t)=>{const s=jQuery(t),n=jQuery("
",{css:{background:"gray",width:s.width(),height:s.height()}});s.before(n),s.remove()}))}removeUnnecessaryElements(){let e=0;this.elements.$sections.filter(((t,s)=>{let n=!1;return e>=this.getSettings("crop.height")&&(n=!0),e+=jQuery(s).outerHeight(),n})).each(((e,t)=>{t.remove()})),this.elements.$notElementorElements.remove()}handleLinks(){elementorCommon.elements.$body.find("a").attr("href","/")}removeFirstSectionMargin(){this.elements.$firstSection.css({marginTop:0})}createImage(){const e=new Promise((e=>{window.addEventListener("load",(()=>{e()}))})),t=new Promise((e=>{setTimeout((()=>{e()}),this.getSettings("render_timeout"))}));return Promise.race([e,t]).then((()=>{if(this.log("Start creating screenshot."),this.getSettings("isDebugSvg"))return domtoimage.toSvg(document.body,{imagePlaceholder:this.getSettings("image_placeholder")}).then((e=>this.download(e))),Promise.reject("Debug SVG.");return/^((?!chrome|android).)*safari/i.test(window.userAgent)?(this.log('Creating screenshot with "html2canvas"'),html2canvas(document.body).then((e=>e.toDataURL("image/png")))):(this.log('Creating screenshot with "dom-to-image"'),domtoimage.toPng(document.body,{imagePlaceholder:this.getSettings("image_placeholder")}))}))}download(e){const t=jQuery("",{href:e,download:"debugSvg.svg",html:"Download SVG"});elementorCommon.elements.$body.append(t),t.trigger("click")}createImageElement(e){const t=new Image;return t.src=e,new Promise((e=>{t.onload=()=>e(t)}))}cropCanvas(e){const t=this.getSettings("crop.width"),s=this.getSettings("crop.height"),n=document.createElement("canvas"),i=n.getContext("2d"),o=t/e.width;return n.width=t,n.height=s>e.height?e.height:s,i.drawImage(e,0,0,e.width,e.height,0,0,e.width*o,e.height*o),Promise.resolve(n)}save(e){return new Promise(((t,s)=>{elementorCommon.ajax.addRequest("screenshot_save",{data:{post_id:this.getSettings("post_id"),screenshot:e.toDataURL("image/png")},success:e=>{this.log(`Screenshot created: ${encodeURI(e)}`),t(e)},error:()=>{this.log("Failed to create screenshot."),s()}})}))}markAsFailed(){return new Promise(((e,t)=>{elementorCommon.ajax.addRequest("screenshot_failed",{data:{post_id:this.getSettings("post_id")},success:()=>{this.log("Marked as failed."),e()},error:()=>{this.log("Failed to mark this screenshot as failed."),t()}})}))}getScreenshotProxyUrl(e){return`${this.getSettings("home_url")}?screenshot_proxy&nonce=${this.getSettings("nonce")}&href=${e}`}screenshotSucceed(e){this.screenshotDone(!0,e)}screenshotFailed(e){this.log(e,null),this.markAsFailed().then((()=>this.screenshotDone(!1)))}screenshotDone(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;clearTimeout(this.timeoutTimer),this.timeoutTimer=null,window.parent.postMessage({name:"capture-screenshot-done",success:e,id:this.getSettings("post_id"),imageUrl:t},"*"),this.log(`Screenshot ${e?"Succeed":"Failed"}.`,"timeEnd")}log(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"timeLog";this.getSettings("isDebug")&&(console.log("string"==typeof e?`${this.getSettings("post_id")} - ${e}`:e),t&&console[t](this.getSettings("timer_label")))}}jQuery((()=>{new Screenshot}))})(); Seamless account recovery Archives - The Tach https://thetach.com/?tag=seamless-account-recovery Mon, 25 Nov 2024 17:25:44 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.1 Google Launches Restore Credentials on Android for Easier App Logins on New Devices https://thetach.com/?p=855 https://thetach.com/?p=855#respond Mon, 25 Nov 2024 17:25:43 +0000 https://thetach.com/?p=855 Google launched Restore Credentials to make app logins simpler and more secure for users transitioning to new Android devices. This revolutionary feature is intended to solve the problem of having to input login details of several applications in the event of a transfer from one device to another. Designed to work effortlessly with Android’s Credential ... Read more

The post Google Launches Restore Credentials on Android for Easier App Logins on New Devices appeared first on The Tach.

]]> Google launched Restore Credentials to make app logins simpler and more secure for users transitioning to new Android devices. This revolutionary feature is intended to solve the problem of having to input login details of several applications in the event of a transfer from one device to another. Designed to work effortlessly with Android’s Credential Manager API, the former tool improves both accessibility and security while providing a clear and non-problematical interface to users. Google Launches Restore Credentials which means that the accounts restoration process is now carried out automatically enabling people to have fun with their new gadgets instead of logging in and out of their accounts repeatedly. The feature works effortlessly in the background, ensuring data is securely retrieved and accounts are restored without requiring manual effort.

The Need for Restore Credentials

Switching to a new smartphone has often been associated with setting up accounts and re-entering passwords for numerous apps. This inconvenience can be particularly frustrating for users who have complex passwords or rely on additional measures like two-factor authentication. Recognizing this challenge, Google launched Restore Credentials to address this issue by providing a streamlined approach to account recovery.

This innovative feature ensures that users no longer need to remember every password or navigate lengthy recovery processes. Instead, accounts are restored automatically during app and data recovery, making the transition to a new device as stress-free as possible. Users are left with more time to explore their new device and focus on what truly matters.

How to Restore Credentials Works

The restore key is at the core of the Google Launches Restore Credentials feature, a public key designed to comply with FIDO2 standards, including passkeys. When a user logs into a compatible app, the restore key is generated and securely stored in the Credential Manager on the device. If cloud backup is enabled, the encrypted restore key is also securely stored. This ensures that when users switch to a new device and restore their apps, the restore key is retrieved automatically. 

The feature works in the background, requiring no manual action, and allows users to regain access to their accounts without needing to re-enter any credentials manually. This effortless process highlights the sophisticated integration of security and convenience, making Google Launches Restore Credentials a significant improvement in Android’s ecosystem.

Developer Recommendations for Using Restore Credentials

Developers play a crucial role in ensuring that Google Launches Restore Credentials works effectively. Google recommends that developers generate a restore key immediately after the user successfully logs in to an app. This proactive approach ensures that users’ account information is prepared for restoration during the next migration.

Seamless account recovery

To prevent unintended reauthentication loops, developers are also encouraged to delete the restore key when a user logs out of their account. This ensures that users retain full control over their login process and that no unwanted logins occur after logging out intentionally. Developers should also implement periodic checks for restore key validity, enhancing the overall reliability of the feature.

Comparison with Apple’s iCloud Keychain

Google’s new feature draws comparisons with Apple’s iCloud Keychain, which similarly simplifies credential management during device transitions. Apple uses an attribute called kSecAttrAccessible to control how credentials are accessed and restored. This allows credentials to either remain device-specific or migrate with backups, depending on the specified settings.

By introducing Google Launches Restore Credentials, the Android ecosystem now matches Apple’s offering, ensuring Android users enjoy the same level of convenience and security. This feature strengthens Android’s position in the market by providing an experience that is on par with its competitors, further boosting user satisfaction and loyalty.

Integration with Android 16 Features

The rollout of Google Launches Restore Credentials coincides with the release of Android 16’s first Developer Preview. This update includes enhanced privacy and security features that complement the credential restoration process.

The Privacy Dashboard has been updated, enabling users to monitor which apps have accessed sensitive permissions over the past seven days. Additionally, the improved Privacy Sandbox introduces advanced protections for user data. Together with the Restore Credentials feature, these updates underline Google’s commitment to creating a secure and user-friendly ecosystem that prioritizes user trust and convenience.

Security and User Convenience

Security remains a top priority with Google Launches Restore Credentials. The restore key is encrypted both locally and in the cloud, ensuring that user data remains protected at all times. This encryption follows FIDO2 standards, which are recognized as the best practice of Internet authentication at the moment. Google Launches Restore Credentials not only plugs a hole and increases security. But it also prevents users from losing hope and quitting an app for a few minutes of resetting credentials. 

It is a massive boost to the user experience and allows Android devices to be used not only by power users but by everyone. In the same light, the feature serves to reduce vulnerability to fake restore keys since the keys are linked with authenticated users only. Only users who have securely logged in can generate these keys, adding an extra layer of protection against potential breaches.

Future Implications of Restore Credentials

The introduction of Google Launches Restore Credentials marks a significant step forward in improving device migration processes. It highlights Google’s focus on addressing user pain points, particularly during the often-complicated process of upgrading devices. This feature is expected to become a key differentiator for Android, attracting users who prioritize convenience and security. 

Android Credential Manager API

By removing barriers to seamless device migration. Google is setting a new standard for effortless account recovery, which may influence how other platforms approach credential management in the future. Moreover, the success of Google Launches Restore Credentials could pave the way for further innovations in secure authentication and account recovery, benefiting the entire mobile industry.

Conclusion

Google’s Restore Credentials redefines the app login experience for Android users. By integrating security and convenience, this feature ensures effortless transitions when upgrading devices. The reliance on encrypted restore keys, cloud backup, and FIDO2 standards enhances both safety and usability. With Restore Credentials, Google showcases its commitment to simplifying user experiences while maintaining stringent security protocols. This innovation makes account restoration faster, easier, and more reliable. Setting a new standard for user-centric features in the mobile ecosystem.

FAQs

What is the primary purpose of Restore Credentials?

Restore Credentials simplifies the process of logging into apps on new devices.

How does Restore Credentials enhance security for users?

Encrypted restore keys ensure account data is safely retrieved during migrations.

Can Restore Credentials work without cloud backup enabled?

Yes, restore keys are securely stored locally, even without cloud backup.

How does Restore Credentials compare to Apple’s iCloud Keychain?

Both offer similar convenience for credential management during device migrations.

What advice does Google give to app developers regarding Restore Credentials?

Developers should generate restore keys after login and delete them after logout.

The post Google Launches Restore Credentials on Android for Easier App Logins on New Devices appeared first on The Tach.

]]>
https://thetach.com/?feed=rss2&p=855 0