{"id":5005,"date":"2023-03-06T10:02:00","date_gmt":"2023-03-06T15:02:00","guid":{"rendered":"https:\/\/ionic.io\/blog\/?p=5005"},"modified":"2023-03-06T10:02:05","modified_gmt":"2023-03-06T15:02:05","slug":"announcing-auth-connect-4","status":"publish","type":"post","link":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4","title":{"rendered":"Announcing Auth Connect 4"},"content":{"rendered":"\n<p>Today, we\u2019re excited to announce the release of Auth Connect 4, Ionic\u2019s premier solution for implementing authentication in mobile applications. This release is packed full of updates, modernizing the solution as well as bringing new and highly anticipated features.<\/p>\n\n\n\n<p>Auth Connect exists so that teams can implement best practices in authentication across the web, Android, and iOS without having to build a manual solution. When using Auth Connect, companies can feel confident that their users are secure regardless of what platform they choose to interact on.<\/p>\n\n\n\n<p>Built on the widely adopted authentication standard OAuth 2.0, companies are able to quickly and easily get authentication up and running in their mobile applications and connected to their backend authentication provider. Auth Connect 4 brings all the convenience of easily implementing authentication in your application but drastically improves the developer experience across various javascript frameworks, creates a more transparent storage implementation, and now supports any authentication provider that also supports the OAuth 2.0 standard.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Modernizing Auth Connect<\/h2>\n\n\n\n<p>Historically, building plugins to support both Capacitor and Cordova projects meant choosing to build a Cordova plugin, as it could be consumed in both Cordova and Capacitor projects. Companies, including Ionic, found this to be beneficial because it meant reaching all developers with a single project, but it came at a cost, needing to develop a Cordova plugin: brittle projects and tooling, inconsistent platform APIs, and the list goes on. Auth Connect 4 is the pioneer of a new age of plugin development that enables teams to build Capacitor plugins, <a href=\"https:\/\/ionic.io\/resources\/articles\/capacitor-vs-cordova-modern-hybrid-app-development\" target=\"_blank\" rel=\"noreferrer noopener\">enjoying the benefits of such<\/a>, while still being compatible with Cordova.<\/p>\n\n\n\n<p>This change means that Auth Connect 4 is now built on top of Capacitor, but can be used in legacy Cordova applications for teams that still support them. This is enabled by our new <a href=\"https:\/\/github.com\/ionic-team\/capacitor-plugin-cordova-compat\" target=\"_blank\" rel=\"noreferrer noopener\">Compatibility Plugin<\/a> that allows a compatible Capacitor plugin to be consumed by a Cordova plugin. This new plugin is supported as part of our open-source Capacitor project, and we highly recommend teams take advantage of it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Improved Developer Experience<\/h2>\n\n\n\n<p>Previous versions of Auth Connect were class-based and very Angular-centric. However, as more teams adopt Capacitor with their preferred frameworks, such as <a href=\"https:\/\/capacitorjs.com\/solution\/svelte\" target=\"_blank\" rel=\"noreferrer noopener\">svelte<\/a>, the class-based architecture made implementing Auth Connect a non-trivial experience.&nbsp;<\/p>\n\n\n\n<p>To address this, we\u2019ve reworked Auth Connect to a new approach that is considerably more flexible and works well with any framework you might choose. Calling <code>login<\/code> is simplified:<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">import { AuthConnect } from \u2018@ionic-enterprise\/auth\u2019;\n\nconst result = await AuthConnect.login(provider, options);<\/code><\/pre>\n\n\n\n<p>The returned result now contains everything your application needs to know about the user\u2019s Authentication session. You can store that and pass it to any component that needs to know, without needing to maintain a reference to a stateful class.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Transparent Storage<\/h2>\n\n\n\n<p>Auth Connect 4\u2019s transition to stateless authentication sessions leads to its next improvement, transparency with how your tokens are saved. Instead of managing the result internal to the plugin and giving you pieces of that state when asked, the relationship is inverted now.&nbsp;<\/p>\n\n\n\n<p>Auth Connect gives you a serializable representation of your state and then it\u2019s up to you to store that information. Then for any subsequent requests you make using Auth Connect, you simply provide this object to the method.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">const result = await AuthConnect.login(provider, options);\n\nconst newResult = await AuthConnect.refreshSession(provider, result);<\/code><\/pre>\n\n\n\n<p>You have full control over how your state is stored with your application. We recommend using <a href=\"https:\/\/ionic.io\/products\/identity-vault\" target=\"_blank\" rel=\"noreferrer noopener\">Identity Vault<\/a> to securely store your tokens, protected by biometric access.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Supporting Authentication Providers<\/h2>\n\n\n\n<p>The OAuth 2.0 standard is well implemented across many different authentication providers, which provides broad compatibility for anyone looking to use Auth Connect. Unfortunately, not every aspect of how to implement this standard is explicitly defined, which can lead to small differences in how an application should talk to an authentication provider.<\/p>\n\n\n\n<p>Auth Connect previously shipped with nearly a dozen different provider configurations, attempting to cover all of our enterprise customer\u2019s needs. Auth Connect 4 makes a major change in its approach to supporting providers. Instead of explicitly supporting various providers, it instead ships with a much more limited set of pre-defined providers and now also includes all the tools you need to completely customize how Auth Connect interacts with your provider.<\/p>\n\n\n\n<p>If your provider allows you to send custom parameters along with the request to tweak certain behaviors, this is now entirely possible. If your provider is completely unique, you can now create a custom provider to support it. Simply extend the provided abstract <code>AuthProvider<\/code> class and implement the required methods.<\/p>\n\n\n\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">import { AuthProvider } from \u2018@ionic-enterprise\/auth\u2019;\n\nexport class MyProvider extends AuthProvider {\n  async authorizeRequest(...) {\n    return {\n      url: \u2018\u2019,\n      params: {}\n    }\n  }\n}<\/code><\/pre>\n\n\n\n<p>A complete example of <a href=\"https:\/\/ionic.io\/docs\/auth-connect\/custom-provider\" target=\"_blank\" rel=\"noreferrer noopener\">creating custom providers<\/a> can be found in our documentation. We\u2019re excited for all of the new authentication providers that Auth Connect can now easily support!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Upgrading to Auth Connect 4<\/h2>\n\n\n\n<p>Our <a href=\"https:\/\/ionic.io\/docs\/auth-connect\/upgrading\" target=\"_blank\" rel=\"noreferrer noopener\">Auth Connect 4 upgrade guide<\/a> will walk you through exactly how to approach this upgrade and help keep the process as simple as possible. If you need help upgrading your application to the new version of Auth Connect, please reach out to Ionic Enterprise Support with any questions you may have.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Get Started<\/h2>\n\n\n\n<p>Building out your authentication for your application has never been easier when you use Auth Connect. If you\u2019d like to learn more about how Auth Connect is helping other enterprises build and manage their authentication flows, <a href=\"https:\/\/ionic.io\/products\/auth-connect#demo\" target=\"_blank\" rel=\"noreferrer noopener\">reach out to sales<\/a> to schedule a private demo or try it in your app along with other Ionic native solutions with <a href=\"https:\/\/dashboard.ionicframework.com\/personal\/apps?native_trial=1\" target=\"_blank\" rel=\"noreferrer noopener\">a free trial here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today, we\u2019re excited to announce the release of Auth Connect 4, Ionic\u2019s premier solution for implementing authentication in mobile applications. This release is packed full of updates, modernizing the solution as well as bringing new and highly anticipated features. Auth Connect exists so that teams can implement best practices in authentication across the web, Android, [&hellip;]<\/p>\n","protected":false},"author":86,"featured_media":5011,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"publish_to_discourse":"1","publish_post_category":"19","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"560385","discourse_permalink":"http:\/\/forum.ionicframework.com\/t\/announcing-auth-connect-4\/231563","wpdc_publishing_response":"success","wpdc_publishing_error":"","_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[120,122],"tags":[156,151],"class_list":["post-5005","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcements","category-product","tag-auth-connect","tag-capacitor"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v23.0 (Yoast SEO v23.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Announcing Auth Connect 4 - Ionic Blog<\/title>\n<meta name=\"description\" content=\"Auth Connect 4 is here! Ionic\u2019s premier authentication solution has been re-architected and is packed full of highly anticipated features.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Announcing Auth Connect 4\" \/>\n<meta property=\"og:description\" content=\"Auth Connect 4 is here! Ionic\u2019s premier authentication solution has been re-architected and is packed full of highly anticipated features.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4\" \/>\n<meta property=\"og:site_name\" content=\"Ionic Blog\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-06T15:02:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-06T15:02:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/auth4-feature-image-1024x512.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Dallas James\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:site\" content=\"@ionicframework\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dallas James\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#article\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4\"},\"author\":{\"name\":\"Dallas James\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/5f54036a400c733439d8ac782a6b332a\"},\"headline\":\"Announcing Auth Connect 4\",\"datePublished\":\"2023-03-06T15:02:00+00:00\",\"dateModified\":\"2023-03-06T15:02:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4\"},\"wordCount\":876,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/auth4-feature-image.png\",\"keywords\":[\"Auth Connect\",\"Capacitor\"],\"articleSection\":[\"Announcements\",\"Product\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4\",\"url\":\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4\",\"name\":\"Announcing Auth Connect 4 - Ionic Blog\",\"isPartOf\":{\"@id\":\"https:\/\/ionic.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/auth4-feature-image.png\",\"datePublished\":\"2023-03-06T15:02:00+00:00\",\"dateModified\":\"2023-03-06T15:02:05+00:00\",\"description\":\"Auth Connect 4 is here! Ionic\u2019s premier authentication solution has been re-architected and is packed full of highly anticipated features.\",\"breadcrumb\":{\"@id\":\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#primaryimage\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/auth4-feature-image.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/auth4-feature-image.png\",\"width\":2240,\"height\":1120},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ionic.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Announcing Auth Connect 4\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ionic.io\/blog\/#website\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"name\":\"ionic.io\/blog\",\"description\":\"Build amazing native and progressive web apps with the web\",\"publisher\":{\"@id\":\"https:\/\/ionic.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ionic.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ionic.io\/blog\/#organization\",\"name\":\"Ionic\",\"url\":\"https:\/\/ionic.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png\",\"width\":1920,\"height\":854,\"caption\":\"Ionic\"},\"image\":{\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/ionicframework\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/5f54036a400c733439d8ac782a6b332a\",\"name\":\"Dallas James\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/07\/dallas-james-150x150.jpg\",\"contentUrl\":\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/07\/dallas-james-150x150.jpg\",\"caption\":\"Dallas James\"},\"url\":\"https:\/\/ionic.io\/blog\/author\/dallas\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Announcing Auth Connect 4 - Ionic Blog","description":"Auth Connect 4 is here! Ionic\u2019s premier authentication solution has been re-architected and is packed full of highly anticipated features.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4","og_locale":"en_US","og_type":"article","og_title":"Announcing Auth Connect 4","og_description":"Auth Connect 4 is here! Ionic\u2019s premier authentication solution has been re-architected and is packed full of highly anticipated features.","og_url":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4","og_site_name":"Ionic Blog","article_published_time":"2023-03-06T15:02:00+00:00","article_modified_time":"2023-03-06T15:02:05+00:00","og_image":[{"width":1024,"height":512,"url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/auth4-feature-image-1024x512.png","type":"image\/png"}],"author":"Dallas James","twitter_card":"summary_large_image","twitter_creator":"@ionicframework","twitter_site":"@ionicframework","twitter_misc":{"Written by":"Dallas James","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#article","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4"},"author":{"name":"Dallas James","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/5f54036a400c733439d8ac782a6b332a"},"headline":"Announcing Auth Connect 4","datePublished":"2023-03-06T15:02:00+00:00","dateModified":"2023-03-06T15:02:05+00:00","mainEntityOfPage":{"@id":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4"},"wordCount":876,"commentCount":0,"publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"image":{"@id":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/auth4-feature-image.png","keywords":["Auth Connect","Capacitor"],"articleSection":["Announcements","Product"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/ionic.io\/blog\/announcing-auth-connect-4#respond"]}]},{"@type":"WebPage","@id":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4","url":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4","name":"Announcing Auth Connect 4 - Ionic Blog","isPartOf":{"@id":"https:\/\/ionic.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#primaryimage"},"image":{"@id":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#primaryimage"},"thumbnailUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/auth4-feature-image.png","datePublished":"2023-03-06T15:02:00+00:00","dateModified":"2023-03-06T15:02:05+00:00","description":"Auth Connect 4 is here! Ionic\u2019s premier authentication solution has been re-architected and is packed full of highly anticipated features.","breadcrumb":{"@id":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ionic.io\/blog\/announcing-auth-connect-4"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#primaryimage","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/auth4-feature-image.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/auth4-feature-image.png","width":2240,"height":1120},{"@type":"BreadcrumbList","@id":"https:\/\/ionic.io\/blog\/announcing-auth-connect-4#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ionic.io\/blog"},{"@type":"ListItem","position":2,"name":"Announcing Auth Connect 4"}]},{"@type":"WebSite","@id":"https:\/\/ionic.io\/blog\/#website","url":"https:\/\/ionic.io\/blog\/","name":"ionic.io\/blog","description":"Build amazing native and progressive web apps with the web","publisher":{"@id":"https:\/\/ionic.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ionic.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ionic.io\/blog\/#organization","name":"Ionic","url":"https:\/\/ionic.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2020\/10\/white-on-color.png","width":1920,"height":854,"caption":"Ionic"},"image":{"@id":"https:\/\/ionic.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/ionicframework"]},{"@type":"Person","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/5f54036a400c733439d8ac782a6b332a","name":"Dallas James","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ionic.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/07\/dallas-james-150x150.jpg","contentUrl":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2021\/07\/dallas-james-150x150.jpg","caption":"Dallas James"},"url":"https:\/\/ionic.io\/blog\/author\/dallas"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/03\/auth4-feature-image.png","_links":{"self":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/5005","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/users\/86"}],"replies":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/comments?post=5005"}],"version-history":[{"count":4,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/5005\/revisions"}],"predecessor-version":[{"id":5012,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/posts\/5005\/revisions\/5012"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media\/5011"}],"wp:attachment":[{"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/media?parent=5005"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/categories?post=5005"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ionic.io\/blog\/wp-json\/wp\/v2\/tags?post=5005"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}