{"id":32537,"date":"2024-11-01T09:09:49","date_gmt":"2024-11-01T09:09:49","guid":{"rendered":"http:\/\/atmokpo.com\/w\/?p=32537"},"modified":"2024-11-01T11:54:54","modified_gmt":"2024-11-01T11:54:54","slug":"flutter-course-16-3-installing-firebase-auth-package-and-setting-up-email-authentication","status":"publish","type":"post","link":"https:\/\/atmokpo.com\/w\/32537\/","title":{"rendered":"Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication"},"content":{"rendered":"<p>Hello, Flutter developers! In this tutorial, we will explore in detail how to set up user authentication via Email using Firebase. Firebase offers a variety of services including databases, hosting, storage, and particularly Firebase Auth, which is very useful for handling user authentication. In this tutorial, we will guide you step-by-step on how to install the Firebase Auth package and set up email authentication.<\/p>\n<h2>1. Create a Firebase Project<\/h2>\n<p>To use Firebase, you first need to create a project in the Firebase console. Follow the steps below to create a project.<\/p>\n<ol>\n<li>Access the <a href=\"https:\/\/console.firebase.google.com\/\" target=\"_blank\" rel=\"noopener\">Firebase console<\/a>.<\/li>\n<li>Click the &#8216;Add Project&#8217; button in the top right corner.<\/li>\n<li>Enter the project name, select the Google Analytics settings, and then click &#8216;Create Project&#8217;.<\/li>\n<\/ol>\n<h2>2. Set up Firebase Auth<\/h2>\n<p>Once the project is created, you need to set up Firebase Auth.<\/p>\n<ol>\n<li>Click on &#8216;Authentication&#8217; in the left menu.<\/li>\n<li>Navigate to the &#8216;Sign-in method&#8217; tab.<\/li>\n<li>Find and enable the Email\/Password sign-in option.<\/li>\n<\/ol>\n<h2>3. Create a Flutter Project<\/h2>\n<p>Now, let&#8217;s create a Flutter project. Use the command below to create a new Flutter project.<\/p>\n<pre><code>flutter create firebase_auth_example<\/code><\/pre>\n<p>Navigate to the project directory.<\/p>\n<pre><code>cd firebase_auth_example<\/code><\/pre>\n<h2>4. Install Firebase Core and Auth Packages<\/h2>\n<p>You need to add the necessary packages to use Firebase in Flutter. Open the &#8216;pubspec.yaml&#8217; file and add the following dependencies.<\/p>\n<pre><code>dependencies:\n  flutter:\n    sdk: flutter\n  firebase_core: ^2.0.0\n  firebase_auth: ^5.0.0\n<\/code><\/pre>\n<p>Now, enter the command below to install the packages.<\/p>\n<pre><code>flutter pub get<\/code><\/pre>\n<h2>5. Initialize Firebase<\/h2>\n<p>After installing the packages, you need to initialize Firebase. Open the &#8216;main.dart&#8217; file and add the following code.<\/p>\n<pre><code>import 'package:flutter\/material.dart';\nimport 'package:firebase_core\/firebase_core.dart';\n\nvoid main() async {\n  WidgetsFlutterBinding.ensureInitialized();\n  await Firebase.initializeApp();\n  runApp(MyApp());\n}\n\nclass MyApp extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      title: 'Firebase Auth Example',\n      home: HomeScreen(),\n    );\n  }\n}<\/code><\/pre>\n<h2>6. Create Login UI<\/h2>\n<p>Let&#8217;s build a login screen for email authentication. Add the &#8216;HomeScreen&#8217; widget and include fields for email and password input as well as a login button.<\/p>\n<pre><code>import 'package:firebase_auth\/firebase_auth.dart';\n\n\/\/ ...\n\nclass HomeScreen extends StatefulWidget {\n  @override\n  _HomeScreenState createState() =&gt; _HomeScreenState();\n}\n\nclass _HomeScreenState extends State<HomeScreen> {\n  final FirebaseAuth _auth = FirebaseAuth.instance;\n  final TextEditingController _emailController = TextEditingController();\n  final TextEditingController _passwordController = TextEditingController();\n\n  void signIn(String email, String password) async {\n    try {\n      UserCredential userCredential = await _auth.signInWithEmailAndPassword(\n        email: email,\n        password: password,\n      );\n      print('User signed in: ${userCredential.user}');\n    } on FirebaseAuthException catch (e) {\n      print('Failed to sign in: $e');\n    }\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      appBar: AppBar(\n        title: Text('Login'),\n      ),\n      body: Padding(\n        padding: const EdgeInsets.all(16.0),\n        child: Column(\n          children: [\n            TextField(\n              controller: _emailController,\n              decoration: InputDecoration(labelText: 'Email'),\n            ),\n            TextField(\n              controller: _passwordController,\n              decoration: InputDecoration(labelText: 'Password'),\n              obscureText: true,\n            ),\n            SizedBox(height: 20),\n            ElevatedButton(\n              onPressed: () {\n                signIn(_emailController.text, _passwordController.text);\n              },\n              child: Text('Login'),\n            ),\n          ],\n        ),\n      ),\n    );\n  }\n}<\/code><\/pre>\n<h2>7. Request Email Verification<\/h2>\n<p>After signing in, the user can request email verification. Add the code as below.<\/p>\n<pre><code>void sendVerificationEmail(User user) async {\n  if (!user.emailVerified) {\n    await user.sendEmailVerification();\n    print('Verification email sent to ${user.email}');\n  }\n}\n\n\/\/ Add this at the end of the signIn method.\nif (userCredential.user != null) {\n  sendVerificationEmail(userCredential.user!);\n}<\/code><\/pre>\n<h2>8. Check Email Verification<\/h2>\n<p>Add logic to check if the user has verified their email. You can verify whether the user checked their email after logging in.<\/p>\n<pre><code>void checkEmailVerification() async {\n  User? user = _auth.currentUser;\n  await user?.reload();\n  user = _auth.currentUser;\n  if (user != null && user.emailVerified) {\n    print('Email verified!');\n    \/\/ Logic to navigate as a verified user can be added.\n  } else {\n    print('Email not verified yet.');\n  }\n}\n\n\/\/ Add at the end of the signIn method.\ncheckEmailVerification();<\/code><\/pre>\n<h2>9. Complete Code<\/h2>\n<p>Finally, the complete <code>main.dart<\/code> code is as follows.<\/p>\n<pre><code>import 'package:flutter\/material.dart';\nimport 'package:firebase_core\/firebase_core.dart';\nimport 'package:firebase_auth\/firebase_auth.dart';\n\nvoid main() async {\n  WidgetsFlutterBinding.ensureInitialized();\n  await Firebase.initializeApp();\n  runApp(MyApp());\n}\n\nclass MyApp extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      title: 'Firebase Auth Example',\n      home: HomeScreen(),\n    );\n  }\n}\n\nclass HomeScreen extends StatefulWidget {\n  @override\n  _HomeScreenState createState() =&gt; _HomeScreenState();\n}\n\nclass _HomeScreenState extends State<HomeScreen> {\n  final FirebaseAuth _auth = FirebaseAuth.instance;\n  final TextEditingController _emailController = TextEditingController();\n  final TextEditingController _passwordController = TextEditingController();\n\n  void signIn(String email, String password) async {\n    try {\n      UserCredential userCredential = await _auth.signInWithEmailAndPassword(\n        email: email,\n        password: password,\n      );\n      sendVerificationEmail(userCredential.user!);\n      checkEmailVerification();\n    } on FirebaseAuthException catch (e) {\n      print('Failed to sign in: $e');\n    }\n  }\n\n  void sendVerificationEmail(User user) async {\n    if (!user.emailVerified) {\n      await user.sendEmailVerification();\n      print('Verification email sent to ${user.email}');\n    }\n  }\n\n  void checkEmailVerification() async {\n    User? user = _auth.currentUser;\n    await user?.reload();\n    user = _auth.currentUser;\n    if (user != null && user.emailVerified) {\n      print('Email verified!');\n    } else {\n      print('Email not verified yet.');\n    }\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n      appBar: AppBar(\n        title: Text('Login'),\n      ),\n      body: Padding(\n        padding: const EdgeInsets.all(16.0),\n        child: Column(\n          children: [\n            TextField(\n              controller: _emailController,\n              decoration: InputDecoration(labelText: 'Email'),\n            ),\n            TextField(\n              controller: _passwordController,\n              decoration: InputDecoration(labelText: 'Password'),\n              obscureText: true,\n            ),\n            SizedBox(height: 20),\n            ElevatedButton(\n              onPressed: () {\n                signIn(_emailController.text, _passwordController.text);\n              },\n              child: Text('Login'),\n            ),\n          ],\n        ),\n      ),\n    );\n  }\n}<\/code><\/pre>\n<h2>10. Conclusion<\/h2>\n<p>Now you have learned how to set up email authentication using Flutter and Firebase. Requesting email verification is an important feature to enhance user experience. Please utilize this feature for additional security. In the next tutorial, we will cover how to implement social login. Thank you!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello, Flutter developers! In this tutorial, we will explore in detail how to set up user authentication via Email using Firebase. Firebase offers a variety of services including databases, hosting, storage, and particularly Firebase Auth, which is very useful for handling user authentication. In this tutorial, we will guide you step-by-step on how to install &hellip; <a href=\"https:\/\/atmokpo.com\/w\/32537\/\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[151],"tags":[],"class_list":["post-32537","post","type-post","status-publish","format-standard","hentry","category-flutter-course"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/atmokpo.com\/w\/32537\/\" \/>\n<meta property=\"og:locale\" content=\"ko_KR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"og:description\" content=\"Hello, Flutter developers! In this tutorial, we will explore in detail how to set up user authentication via Email using Firebase. Firebase offers a variety of services including databases, hosting, storage, and particularly Firebase Auth, which is very useful for handling user authentication. In this tutorial, we will guide you step-by-step on how to install &hellip; \ub354 \ubcf4\uae30 &quot;Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/atmokpo.com\/w\/32537\/\" \/>\n<meta property=\"og:site_name\" content=\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-01T09:09:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-01T11:54:54+00:00\" \/>\n<meta name=\"author\" content=\"root\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:site\" content=\"@bebubo4\" \/>\n<meta name=\"twitter:label1\" content=\"\uae00\uc4f4\uc774\" \/>\n\t<meta name=\"twitter:data1\" content=\"root\" \/>\n\t<meta name=\"twitter:label2\" content=\"\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04\" \/>\n\t<meta name=\"twitter:data2\" content=\"4\ubd84\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/atmokpo.com\/w\/32537\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/32537\/\"},\"author\":{\"name\":\"root\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\"},\"headline\":\"Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication\",\"datePublished\":\"2024-11-01T09:09:49+00:00\",\"dateModified\":\"2024-11-01T11:54:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/atmokpo.com\/w\/32537\/\"},\"wordCount\":379,\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"articleSection\":[\"Flutter course\"],\"inLanguage\":\"ko-KR\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/atmokpo.com\/w\/32537\/\",\"url\":\"https:\/\/atmokpo.com\/w\/32537\/\",\"name\":\"Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"isPartOf\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#website\"},\"datePublished\":\"2024-11-01T09:09:49+00:00\",\"dateModified\":\"2024-11-01T11:54:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/atmokpo.com\/w\/32537\/#breadcrumb\"},\"inLanguage\":\"ko-KR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/atmokpo.com\/w\/32537\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/atmokpo.com\/w\/32537\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\ud648\",\"item\":\"https:\/\/atmokpo.com\/w\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/atmokpo.com\/w\/#website\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/atmokpo.com\/w\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ko-KR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/atmokpo.com\/w\/#organization\",\"name\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\",\"url\":\"https:\/\/atmokpo.com\/w\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"contentUrl\":\"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png\",\"width\":400,\"height\":400,\"caption\":\"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8\"},\"image\":{\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/bebubo4\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7\",\"name\":\"root\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ko-KR\",\"@id\":\"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g\",\"caption\":\"root\"},\"sameAs\":[\"http:\/\/atmokpo.com\/w\"],\"url\":\"https:\/\/atmokpo.com\/w\/author\/root\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","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:\/\/atmokpo.com\/w\/32537\/","og_locale":"ko_KR","og_type":"article","og_title":"Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","og_description":"Hello, Flutter developers! In this tutorial, we will explore in detail how to set up user authentication via Email using Firebase. Firebase offers a variety of services including databases, hosting, storage, and particularly Firebase Auth, which is very useful for handling user authentication. In this tutorial, we will guide you step-by-step on how to install &hellip; \ub354 \ubcf4\uae30 \"Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication\"","og_url":"https:\/\/atmokpo.com\/w\/32537\/","og_site_name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","article_published_time":"2024-11-01T09:09:49+00:00","article_modified_time":"2024-11-01T11:54:54+00:00","author":"root","twitter_card":"summary_large_image","twitter_creator":"@bebubo4","twitter_site":"@bebubo4","twitter_misc":{"\uae00\uc4f4\uc774":"root","\uc608\uc0c1 \ub418\ub294 \ud310\ub3c5 \uc2dc\uac04":"4\ubd84"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/atmokpo.com\/w\/32537\/#article","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/32537\/"},"author":{"name":"root","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7"},"headline":"Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication","datePublished":"2024-11-01T09:09:49+00:00","dateModified":"2024-11-01T11:54:54+00:00","mainEntityOfPage":{"@id":"https:\/\/atmokpo.com\/w\/32537\/"},"wordCount":379,"publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"articleSection":["Flutter course"],"inLanguage":"ko-KR"},{"@type":"WebPage","@id":"https:\/\/atmokpo.com\/w\/32537\/","url":"https:\/\/atmokpo.com\/w\/32537\/","name":"Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication - \ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","isPartOf":{"@id":"https:\/\/atmokpo.com\/w\/#website"},"datePublished":"2024-11-01T09:09:49+00:00","dateModified":"2024-11-01T11:54:54+00:00","breadcrumb":{"@id":"https:\/\/atmokpo.com\/w\/32537\/#breadcrumb"},"inLanguage":"ko-KR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/atmokpo.com\/w\/32537\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/atmokpo.com\/w\/32537\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\ud648","item":"https:\/\/atmokpo.com\/w\/en\/"},{"@type":"ListItem","position":2,"name":"Flutter Course: 16.3 Installing Firebase Auth Package and Setting Up Email Authentication"}]},{"@type":"WebSite","@id":"https:\/\/atmokpo.com\/w\/#website","url":"https:\/\/atmokpo.com\/w\/","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","description":"","publisher":{"@id":"https:\/\/atmokpo.com\/w\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/atmokpo.com\/w\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ko-KR"},{"@type":"Organization","@id":"https:\/\/atmokpo.com\/w\/#organization","name":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8","url":"https:\/\/atmokpo.com\/w\/","logo":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/","url":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","contentUrl":"https:\/\/atmokpo.com\/w\/wp-content\/uploads\/2024\/11\/logo.png","width":400,"height":400,"caption":"\ub77c\uc774\ube0c\uc2a4\ub9c8\ud2b8"},"image":{"@id":"https:\/\/atmokpo.com\/w\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/bebubo4"]},{"@type":"Person","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/91b6b3b138fbba0efb4ae64b1abd81d7","name":"root","image":{"@type":"ImageObject","inLanguage":"ko-KR","@id":"https:\/\/atmokpo.com\/w\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/708197b41fc6435a7ce22d951b25d4a47e9e904270cb1f04682d4f025066f80c?s=96&d=mm&r=g","caption":"root"},"sameAs":["http:\/\/atmokpo.com\/w"],"url":"https:\/\/atmokpo.com\/w\/author\/root\/"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/32537","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/comments?post=32537"}],"version-history":[{"count":1,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/32537\/revisions"}],"predecessor-version":[{"id":32538,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/posts\/32537\/revisions\/32538"}],"wp:attachment":[{"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/media?parent=32537"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/categories?post=32537"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atmokpo.com\/w\/wp-json\/wp\/v2\/tags?post=32537"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}