{"id":34864,"date":"2024-09-26T17:45:23","date_gmt":"2024-09-26T15:45:23","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=34864"},"modified":"2024-09-26T17:52:41","modified_gmt":"2024-09-26T15:52:41","slug":"jboss-eap-credential-store","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/","title":{"rendered":"JBoss EAP &#8211; Credential Store"},"content":{"rendered":"\n<p>In the previous blogs, I explained the difference between Credential Store and Password Vault (<a href=\"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store-vs-password-vault\/\" target=\"_blank\" rel=\"noreferrer noopener\">Credential Store vs Password Vault<\/a>), and I share how to secure your sensitive strings with <a href=\"https:\/\/www.dbi-services.com\/blog\/jboss-eap-7-use-vault-to-protect-your-passwords\/\" target=\"_blank\" rel=\"noreferrer noopener\">Password Vault<\/a>. Today, one more blog to give the whole view, how to use Credential Store in JBoss EAP!<\/p>\n\n\n\n<!--more-->\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"498\" height=\"217\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/09\/image-21.png\" alt=\"\" class=\"wp-image-34867\" srcset=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/09\/image-21.png 498w, https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/09\/image-21-300x131.png 300w\" sizes=\"auto, (max-width: 498px) 100vw, 498px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-the-credential-store\">What is the Credential Store?<\/h2>\n\n\n\n<p>Introduced with the elytron subsystem, credential stores allow for secure storage and usage of credentials. As all of the configuration files in (<code><em>EAP_HOME<\/em>\/standalone\/configuration\/<\/code> and <code><em>EAP_HOME<\/em>\/domain\/configuration\/<\/code>) are world readable by default. It is strongly recommended to not store plaintext passwords in the configuration files, and instead place these credentials in the Credential Store.<\/p>\n\n\n\n<p>Please note all following command are base on JBoss EAP in Standalone mode.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-create-a-credential-store\">Create a Credential Store<\/h2>\n\n\n\n<p>The Credential Store is stored in a file, the place of your choice, you must define the path to this file at creation time. At creation time, you need also to provide the master password that will be used to encrypt the credential store.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/subsystem=elytron\/credential-store=dbi_store:add(location=\"cred_stores\/dbi_store.jceks\", relative-to=jboss.server.data.dir, credential-reference={clear-text=secretpassword}, create=true)<\/code><\/pre>\n\n\n\n<p>This CLI command creates a new store named dbi_store, and creates the file jboss.server.data.dir\/cred_stores\/dbi_store.jceks.<\/p>\n\n\n\n<p>This will implement a default Credential Store, there is a way to implement custom store by adding a module and create a provider loader. To keep this blog readable the custom Credential Store could be shared in a next blog.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-add-a-credential-to-credential-store\">Add a credential to Credential Store<\/h2>\n\n\n\n<p>Basically, the idea is to store credentials in the Credential Store, so how to add credentials?<\/p>\n\n\n\n<p>The following CLI command adds a credential in a the credential store created before:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/subsystem=elytron\/credential-store=dbi_store:add-alias(alias=database-pw, secret-value=\"my_speci@l_P1$$w0rd_DB\")<\/code><\/pre>\n\n\n\n<p>the alias is the one to be referenced later!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-use-the-credential-stored-in-the-credential-store\">Use the credential stored in the Credential Store<\/h2>\n\n\n\n<p>Once the credential is stored in the Credential Store, it is quite easy and secure to refer to it.<\/p>\n\n\n\n<p>In fact, to refer to a sensitive string stored in a credential store, use the <em>credential-reference<\/em> attribute in the JBoss EAP Configuration, like the following:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>credential-reference={store=STORE_NAME, alias=ALIAS}<\/code><\/pre>\n\n\n\n<p>Fore example, to create a datasource using the password I just added to the credential store dbi_store, I have to execute the following:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>data-source add --name=dbi_DS --jndi-name=java:\/dbi_DS --driver-name=h2 --connection-url=jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE --user-name=db_user --credential-reference={store=dbi_store, alias=database-pw}<\/code><\/pre>\n\n\n\n<p>So, instead of providing the password the credential-reference including the store name and alias is provided.<br>JBoss EAP configured this datasource as following:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/subsystem=datasources\/data-source=dbi_DS:read-resource()\n{\n    \"outcome\" =&gt; \"success\",\n    \"result\" =&gt; {\n        ...\n        \"credential-reference\" =&gt; {\n            \"store\" =&gt; \"dbi_store\",\n            \"alias\" =&gt; \"database-pw\"\n        },\n        ...\n        \"password\" =&gt; undefined,\n        ...\n    }\n}<\/code><\/pre>\n\n\n\n<p>Note that the password is undefined and the credential-reference attribute is defined instead.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-list-the-credentials\">List the credentials<\/h2>\n\n\n\n<p>At any time, you can list the aliases of all credentials contained in a credential store using the following CLI Command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/subsystem=elytron\/credential-store=dbi_store:read-aliases()\n{\n    \"outcome\" =&gt; \"success\",\n    \"result\" =&gt; &#091;\n        \"database-pw\"\n    ]\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-remove-a-credential\">Remove a credential<\/h2>\n\n\n\n<p>Well you guess it, you can manage everything via CLI, as any other subsystem. That is why I prefer using Credential Store \ud83d\ude42<\/p>\n\n\n\n<p>So to remove a credential, execute the following command:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/subsystem=elytron\/credential-store=dbi_store:remove-alias(alias=database-pw)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2>\n\n\n\n<p>You know how to create Credential Store, store and use credentials in a secure way.<\/p>\n\n\n\n<p><strong>IMPORTANT<\/strong><\/p>\n\n\n\n<p>Please note that it is important to disabled the CLI history before executing commands with passwords. This avoid saving the command and so password in clear text in the CLI History!<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>history --disable<\/code><\/pre>\n\n\n\n<p>If you already executed with commands with passwords, it is not too late \ud83d\ude09 clear the history asap:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>history --clear<\/code><\/pre>\n\n\n\n<p><strong>Do you need any help?<\/strong> dbi services experts can help you to install and configure JBoss EAP according to Best Practices&#8230; Not only JBoss EAP, check the list of Application Servers <a href=\"https:\/\/www.dbi-services.com\/expertises\/application-servers\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the previous blogs, I explained the difference between Credential Store and Password Vault (Credential Store vs Password Vault), and I share how to secure your sensitive strings with Password Vault. Today, one more blog to give the whole view, how to use Credential Store in JBoss EAP!<\/p>\n","protected":false},"author":46,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197],"tags":[119,2564],"type_dbi":[],"class_list":["post-34864","post","type-post","status-publish","format-standard","hentry","category-application-integration-middleware","tag-jboss-eap","tag-security-3"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>JBoss EAP - Credential Store - dbi Blog<\/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:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"JBoss EAP - Credential Store\" \/>\n<meta property=\"og:description\" content=\"In the previous blogs, I explained the difference between Credential Store and Password Vault (Credential Store vs Password Vault), and I share how to secure your sensitive strings with Password Vault. Today, one more blog to give the whole view, how to use Credential Store in JBoss EAP!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-26T15:45:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-26T15:52:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/09\/image-21.png\" \/>\n<meta name=\"author\" content=\"David Diab\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Diab\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/jboss-eap-credential-store\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/jboss-eap-credential-store\\\/\"},\"author\":{\"name\":\"David Diab\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/deb907c3360cacdc6c7df54b4bac3c86\"},\"headline\":\"JBoss EAP &#8211; Credential Store\",\"datePublished\":\"2024-09-26T15:45:23+00:00\",\"dateModified\":\"2024-09-26T15:52:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/jboss-eap-credential-store\\\/\"},\"wordCount\":544,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/jboss-eap-credential-store\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/09\\\/image-21.png\",\"keywords\":[\"JBoss EAP\",\"Security\"],\"articleSection\":[\"Application integration &amp; Middleware\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/jboss-eap-credential-store\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/jboss-eap-credential-store\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/jboss-eap-credential-store\\\/\",\"name\":\"JBoss EAP - Credential Store - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/jboss-eap-credential-store\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/jboss-eap-credential-store\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/09\\\/image-21.png\",\"datePublished\":\"2024-09-26T15:45:23+00:00\",\"dateModified\":\"2024-09-26T15:52:41+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/deb907c3360cacdc6c7df54b4bac3c86\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/jboss-eap-credential-store\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/jboss-eap-credential-store\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/jboss-eap-credential-store\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/09\\\/image-21.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/09\\\/image-21.png\",\"width\":498,\"height\":217},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/jboss-eap-credential-store\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"JBoss EAP &#8211; Credential Store\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/deb907c3360cacdc6c7df54b4bac3c86\",\"name\":\"David Diab\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g\",\"caption\":\"David Diab\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/david-diab\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"JBoss EAP - Credential Store - dbi Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/","og_locale":"en_US","og_type":"article","og_title":"JBoss EAP - Credential Store","og_description":"In the previous blogs, I explained the difference between Credential Store and Password Vault (Credential Store vs Password Vault), and I share how to secure your sensitive strings with Password Vault. Today, one more blog to give the whole view, how to use Credential Store in JBoss EAP!","og_url":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/","og_site_name":"dbi Blog","article_published_time":"2024-09-26T15:45:23+00:00","article_modified_time":"2024-09-26T15:52:41+00:00","og_image":[{"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/09\/image-21.png","type":"","width":"","height":""}],"author":"David Diab","twitter_card":"summary_large_image","twitter_misc":{"Written by":"David Diab","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/"},"author":{"name":"David Diab","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/deb907c3360cacdc6c7df54b4bac3c86"},"headline":"JBoss EAP &#8211; Credential Store","datePublished":"2024-09-26T15:45:23+00:00","dateModified":"2024-09-26T15:52:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/"},"wordCount":544,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/09\/image-21.png","keywords":["JBoss EAP","Security"],"articleSection":["Application integration &amp; Middleware"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/","url":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/","name":"JBoss EAP - Credential Store - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/09\/image-21.png","datePublished":"2024-09-26T15:45:23+00:00","dateModified":"2024-09-26T15:52:41+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/deb907c3360cacdc6c7df54b4bac3c86"},"breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/09\/image-21.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/09\/image-21.png","width":498,"height":217},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/jboss-eap-credential-store\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"JBoss EAP &#8211; Credential Store"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/deb907c3360cacdc6c7df54b4bac3c86","name":"David Diab","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/212b1b2e4650bad3116f644ab4fb4663786d94195d7685d0704c8426da088e60?s=96&d=mm&r=g","caption":"David Diab"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/david-diab\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/34864","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/46"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=34864"}],"version-history":[{"count":9,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/34864\/revisions"}],"predecessor-version":[{"id":34878,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/34864\/revisions\/34878"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=34864"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=34864"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=34864"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=34864"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}