{"id":15906,"date":"2024-06-19T10:47:18","date_gmt":"2024-06-19T17:47:18","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=15906"},"modified":"2024-06-24T10:02:44","modified_gmt":"2024-06-24T17:02:44","slug":"integrate-couchbase-okta-authentication","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/","title":{"rendered":"Integrating Couchbase Server with Okta: A Step-by-Step Guide to Seamless Authentication"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Welcome to this comprehensive guide on integrating Okta with Couchbase Server!\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In this article, we will walk you through the step-by-step process of setting up a secure and seamless authentication flow using <\/span><b>Okta<\/b><span style=\"font-weight: 400;\"> as the <\/span><b>Identity Provider<\/b><span style=\"font-weight: 400;\"> (IdP) and <\/span><b>Couchbase<\/b><span style=\"font-weight: 400;\"> Server as the <\/span><b>SAML Service Provider<\/b><span style=\"font-weight: 400;\"> (SP). By the end of this guide, you&#8217;ll have a fully functional SSO setup, allowing users to log in and log out of Couchbase server UI using SAML.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Prerequisites<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Before delving into the intricacies of SAML integration, it&#8217;s crucial to have a solid grasp of SAML&#8217;s fundamentals and debugging techniques. If you haven&#8217;t already, I strongly recommend revisiting my previous article on the basics of SAML and its debugging process. Equipped with that foundational knowledge, you&#8217;ll find this article on SAML integration much more enlightening and easier to comprehend. Taking the time to understand the core concepts will undoubtedly enhance your experience and comprehension as we dive deeper into the subject.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Before diving into the configuration steps, it&#8217;s essential to ensure you have everything you need for a smooth setup process. Below are the prerequisites you should have in place.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Required software and accounts<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Okta Developer Account:<\/b><span style=\"font-weight: 400;\"> You&#8217;ll need an Okta Developer account to configure Okta as your Identity Provider. If you don&#8217;t have one, you can sign up for a free account <\/span><a href=\"https:\/\/developer.okta.com\/signup\/\"><span style=\"font-weight: 400;\">here<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Couchbase Server<\/b><span style=\"font-weight: 400;\">: Make sure you have <em>Full Admin<\/em> or at least <em>External User Security Admin<\/em> access. This is crucial for configuring SAML settings in Couchbase Server.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Text Editor:<\/b><span style=\"font-weight: 400;\"> A text editor like Visual Studio Code, Sublime Text, or Notepad++ will be useful for editing XML files or scripts, if needed.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400;\">Required knowledge and skills<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Basic Understanding of SAML<\/b><span style=\"font-weight: 400;\">: Familiarity with SAML concepts like Assertions, IdP, SP, and SSO will be beneficial.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>XML Basics<\/b><span style=\"font-weight: 400;\">: Since SAML uses XML-based assertions, a basic understanding of XML will help you in the setup process.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400;\">Required data<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Couchbase server URL<\/b><span style=\"font-weight: 400;\">: Make sure that your Couchbase Server is accessible via the internet and you know the external facing URL.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Signing key and Certificate<\/b><span style=\"font-weight: 400;\">: You have a Private Key and Certificate and, optionally, a Chain file that you can upload which will be used to sign and decrypt SAML messages.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400;\">Optional but helpful<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Network Tools<\/b><span style=\"font-weight: 400;\">: Tools like curl or Postman can be helpful for testing HTTP requests and SAML assertions.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Debugging Tools<\/b><span style=\"font-weight: 400;\">: Browser-based debugging tools or plugins can assist in troubleshooting SAML responses and requests such as <\/span><a href=\"https:\/\/chrome.google.com\/webstore\/detail\/saml-tracer\/mpdajninpobndbfcldcmbpnnbhibjmch\"><span style=\"font-weight: 400;\">Saml Tracer<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Certificate formating tools:<\/b><span style=\"font-weight: 400;\"> Browser-based <\/span><a href=\"https:\/\/www.samltool.com\/format_x509cert.php\"><span style=\"font-weight: 400;\">X.509 certificate tool <\/span><\/a><span style=\"font-weight: 400;\">to format certificates.\u00a0<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">By ensuring you have these prerequisites in place, you&#8217;ll be prepared to follow along with the rest of this guide. In the next section, we&#8217;ll provide an overview of how SAML authentication works to give you a better understanding of what you&#8217;ll be configuring.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400;\">Configuring Okta as the IdP<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Now that we&#8217;ve covered the basics, it&#8217;s time to configure Okta to act as your Identity Provider (IdP). We need to start with the IdP as the Couchbase server expects a metadata file or URL in order to enable SAML.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Create a new SAML application in Okta<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Login to Okta Developer Console:<\/b><span style=\"font-weight: 400;\"> Navigate to your Okta Developer Console and log in.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Go to Applications:<\/b><span style=\"font-weight: 400;\"> From the dashboard, click on the <strong>Applications<\/strong>\u00a0tab.<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image5-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15907\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image5-2-1024x303.png\" alt=\"\" width=\"595\" height=\"176\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image5-2-1024x303.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image5-2-300x89.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image5-2-768x227.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image5-2-1536x454.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image5-2-1320x390.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image5-2.png 1584w\" sizes=\"auto, (max-width: 595px) 100vw, 595px\" \/><\/a><\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Add Application: <\/b><span style=\"font-weight: 400;\">Click the <strong>Create App Integration<\/strong>\u00a0button to create a new application.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Select SAML 2.0:<\/b><span style=\"font-weight: 400;\">\u00a0 Choose <em>SAML 2.0<\/em>\u00a0as the sign-on method.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15908\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image11-1024x282.png\" alt=\"\" width=\"600\" height=\"165\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image11-1024x282.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image11-300x83.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image11-768x212.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image11-1536x423.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image11-1320x364.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image11.png 1844w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Click <strong>Next<\/strong>\u00a0to proceed to the application settings.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400;\">Configure SAML application settings in Okta<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">General Settings:<\/span>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><b>Name<\/b><span style=\"font-weight: 400;\">: Enter a name for the application. I will use: <\/span><b>couchbase<\/b><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Click\u00a0<strong>Next<\/strong><\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">SAML Settings:<\/span>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><b>Single Sign-On URL<\/b><span style=\"font-weight: 400;\"> (ACS URL): At this point we will use a <\/span><b>placeholder<\/b><span style=\"font-weight: 400;\">: <\/span><a href=\"https:\/\/www.nowhere.com\/\"><b>https:\/\/www.nowhere.com<\/b><\/a><span style=\"font-weight: 400;\">, as we do not have this URL yet. Later on we&#8217;ll come back to finish the configuration of the ACS.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><b>Audience URI <\/b><span style=\"font-weight: 400;\">(SP Entity ID): Set the Entity ID for Couchbase server. This is a unique identifier that Okta will use to recognize your service. I will use \u201ccouchbase-demo-integration\u201d<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><b>Name ID Format:<\/b><span style=\"font-weight: 400;\"> Usually set to &#8220;Unspecified&#8221; or &#8220;EmailAddress&#8221;, depending on your\u00a0 requirements. I will use Unspecified for this configuration.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><b>Application Username:<\/b><span style=\"font-weight: 400;\"> Choose how usernames will be mapped (usually &#8220;Email&#8221; or \u201cOkta Username\u201d).<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image8-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15910\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image8-2-1024x875.png\" alt=\"\" width=\"600\" height=\"513\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image8-2-1024x875.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image8-2-300x256.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image8-2-768x656.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image8-2-1320x1128.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image8-2.png 1498w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><br \/>\n<\/span><\/li>\n<\/ul>\n<\/li>\n<li aria-level=\"2\"><b>Finish<\/b><span style=\"font-weight: 400;\">: Click &#8220;Finish&#8221; or &#8220;Next&#8221; until you complete the application setup.<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400;\">Download Okta metadata<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>View Setup Instructions:<\/b><span style=\"font-weight: 400;\"> After creating the application, go to the &#8220;Sign On&#8221; tab and click &#8220;More details&#8221;.<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image29.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15911\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image29-1024x961.png\" alt=\"\" width=\"598\" height=\"561\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image29-1024x961.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image29-300x282.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image29-768x721.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image29-1320x1239.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image29.png 1492w\" sizes=\"auto, (max-width: 598px) 100vw, 598px\" \/><\/a><\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/li>\n<li aria-level=\"1\"><b>Keep this page open:<\/b><span style=\"font-weight: 400;\"> Please keep this page open as we will copy fields from this page when we are setting up Couchbase server in the next step.<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image26.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15912\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image26-898x1024.png\" alt=\"\" width=\"600\" height=\"684\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image26-898x1024.png 898w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image26-263x300.png 263w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image26-768x875.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image26-1348x1536.png 1348w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image26-300x342.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image26-1320x1505.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image26.png 1402w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><br \/>\n<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<ol>\n<li style=\"list-style-type: none;\"><\/li>\n<\/ol>\n<h2><span style=\"font-weight: 400;\">Setting up Couchbase Server to act as a SP<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Now that you have Okta set up as an Identity Provider (iDP), it&#8217;s time to prepare Couchbase server to act as a SAML Service Provider (SP). This section will guide you through the initial setup and configuration steps.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Initial configuration<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Login to your Couchbase server UI:<\/b><span style=\"font-weight: 400;\"> Log in to the administrative UI of Couchbase server. This is where you&#8217;ll configure the SAML settings.<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image9-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-15913 alignnone\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image9-2.png\" alt=\"\" width=\"106\" height=\"240\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image9-2.png 230w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image9-2-133x300.png 133w\" sizes=\"auto, (max-width: 106px) 100vw, 106px\" \/><\/a><br \/>\n<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Click on Security: <\/b><span style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Select security in the left hand side navigation.<\/span><\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Click on the SAML tab: <\/b><span style=\"font-weight: 400;\">on the top Locate the SAML tab and click on it. This will open the SAML configuration page.<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image25.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15914\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image25-1024x89.png\" alt=\"\" width=\"608\" height=\"53\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image25-1024x89.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image25-300x26.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image25-768x67.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image25-1320x115.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image25.png 1334w\" sizes=\"auto, (max-width: 608px) 100vw, 608px\" \/><\/a><br \/>\n<\/span><\/li>\n<li aria-level=\"1\"><b>Enable SAML Authentication:<\/b> There is a checkbox below the text. Toggle this setting on.<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image33.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15915\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image33-1024x204.png\" alt=\"\" width=\"602\" height=\"120\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image33-1024x204.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image33-300x60.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image33-768x153.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image33-1536x306.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image33-1320x263.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image33.png 1796w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400;\">Metadata configuration<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SP Entity ID<\/b><span style=\"font-weight: 400;\">: Set the Entity ID for Couchbase server. This is a unique identifier that Okta will use to recognize your service. Use the same Entity ID you used on the Okta screen: <em>couchbase-demo-integration<\/em><\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Organization detail: <\/b><span style=\"font-weight: 400;\">Fill in\u00a0 the Org Name and contact fields with your information.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>SP Base URL Type<\/b><span style=\"font-weight: 400;\">: Select\u00a0 <\/span><b>Custom URL<\/b><span style=\"font-weight: 400;\"> and use the url your service is accessible from the internet. I will specify <\/span><em><span style=\"font-weight: 400;\">https:\/\/127.0.0.1:8091<\/span><\/em><span style=\"font-weight: 400;\"> as I am running Couchbase server locally.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Sign Metadata<\/b><span style=\"font-weight: 400;\">: Make sure that the <\/span><span style=\"font-weight: 400;\"><em>Sign metadata using certificates specified below<\/em>\u00a0toggle is enabled.<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image7-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15916\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image7-2-1024x159.png\" alt=\"\" width=\"599\" height=\"93\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image7-2-1024x159.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image7-2-300x47.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image7-2-768x119.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image7-2-1536x239.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image7-2-1320x205.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image7-2.png 1710w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/a><\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400;\">Certificate management<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Upload Private Key<\/b><span style=\"font-weight: 400;\">: Open the Key and Certificate section, and upload your private key.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Upload Certificate<\/b><span style=\"font-weight: 400;\">: also upload your certificate.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Certificate chain<\/b><span style=\"font-weight: 400;\">: Optionally if you need a certificate chain, please upload that as well.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image32.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15917\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image32-1024x811.png\" alt=\"\" width=\"599\" height=\"474\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image32-1024x811.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image32-300x238.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image32-768x609.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image32-1536x1217.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image32-1320x1046.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image32.png 1686w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/a><\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400;\">Identity Provider configuration<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Open Metadata<\/b><span style=\"font-weight: 400;\">: Open the metadata section of this configuration<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image21.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15918\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image21.png\" alt=\"\" width=\"522\" height=\"133\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image21.png 948w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image21-300x77.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image21-768x196.png 768w\" sizes=\"auto, (max-width: 522px) 100vw, 522px\" \/><\/a><\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Configure IDP metadata<\/b><span style=\"font-weight: 400;\">: Go back to your Okta configuration screen and copy the <\/span><b>Metadata URL<\/b><b><br \/>\n<\/b><b><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image17.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15919\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image17-1024x324.png\" alt=\"\" width=\"598\" height=\"189\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image17-1024x324.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image17-300x95.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image17-768x243.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image17.png 1162w\" sizes=\"auto, (max-width: 598px) 100vw, 598px\" \/><\/a><\/b><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Open it: <\/b><span style=\"font-weight: 400;\">Paste the url in a new browser window<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image2-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15920\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image2-2-1024x363.png\" alt=\"\" width=\"601\" height=\"213\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image2-2-1024x363.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image2-2-300x106.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image2-2-768x272.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image2-2-1536x544.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image2-2-1320x468.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image2-2.png 1999w\" sizes=\"auto, (max-width: 601px) 100vw, 601px\" \/><\/a><\/span><b><\/b><b><\/b><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Copy the content: <\/b><span style=\"font-weight: 400;\">Select the whole file and copy the content to the clipboard<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Paste the XML:<\/b><span style=\"font-weight: 400;\"> Go back to Couchbase server and change the Load IDP metadata from URL to <\/span><b>File<\/b><span style=\"font-weight: 400;\"> and paste the XML into the textarea:<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image13.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15921\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image13-1024x328.png\" alt=\"\" width=\"599\" height=\"192\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image13-1024x328.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image13-300x96.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image13-768x246.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image13-1536x493.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image13-1320x423.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image13.png 1690w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/a><\/span><span style=\"font-weight: 400;\"><br \/>\nIt&#8217;s worth noting that you have the option to directly load the Identity Provider&#8217;s metadata by specifying its URL. If you choose this approach, ensure that the corresponding Certificate Authority (CA) certificates are uploaded as well otherwise the Couchbase server will not be able to download the metadata from the IdP.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Enable Verify remote peer: <\/b>Toggle the Verify remote peer to make sure it is on<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image20.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15922\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image20.png\" alt=\"\" width=\"242\" height=\"52\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image20.png 488w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image20-300x65.png 300w\" sizes=\"auto, (max-width: 242px) 100vw, 242px\" \/><\/a><br \/>\n<b><\/b><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Trusted fingerprints: <\/b>Make sure you enable all the Fingerprint validation toggles:<br \/>\n<span style=\"font-weight: 400;\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image28.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15923\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image28-1024x121.png\" alt=\"\" width=\"603\" height=\"71\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image28-1024x121.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image28-300x35.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image28-768x91.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image28-1536x181.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image28-1320x156.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image28.png 1999w\" sizes=\"auto, (max-width: 603px) 100vw, 603px\" \/><\/a><\/span><\/li>\n<li aria-level=\"1\"><b>Open fingerprints<\/b><span style=\"font-weight: 400;\">: Go back to your Okta screen and open the Certificate fingerprint section<br \/>\n<\/span><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image10-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15925\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image10-2.png\" alt=\"\" width=\"405\" height=\"55\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image10-2.png 810w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image10-2-300x41.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image10-2-768x104.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image10-2-800x110.png 800w\" sizes=\"auto, (max-width: 405px) 100vw, 405px\" \/><\/a><\/span><\/li>\n<li aria-level=\"1\"><b>Copy fingerprint<\/b><span style=\"font-weight: 400;\">: Copy the SHA1 (formatted) fingerprint to your clipboard and paste into the Trusted Fingerprints textarea in Couchbase.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image16.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15924\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image16-1024x278.png\" alt=\"\" width=\"545\" height=\"148\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image16-1024x278.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image16-300x81.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image16-768x209.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image16.png 1178w\" sizes=\"auto, (max-width: 545px) 100vw, 545px\" \/><\/a><br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image3-2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15926\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image3-2.png\" alt=\"\" width=\"503\" height=\"273\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image3-2.png 966w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image3-2-300x163.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image3-2-768x417.png 768w\" sizes=\"auto, (max-width: 503px) 100vw, 503px\" \/><\/a><\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/li>\n<li aria-level=\"1\"><b>Change Name ID format<\/b><span style=\"font-weight: 400;\">: Okta by default uses <\/span><span style=\"font-weight: 400;\"><em>Unspecified<\/em>. You need to make sure they match in Okta and Couchbase Server. I will change Couchbase from <em>persistent<\/em> to <em>unspecified<\/em> by changing this field to <em>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified<\/em>\u00a0to match Okta\u2019s default.\u00a0<\/span><\/li>\n<li aria-level=\"1\"><b>Save configuration<\/b><span style=\"font-weight: 400;\">: Click on <strong>Save<\/strong> to persist the configuration so far.<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image23.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15927\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image23.png\" alt=\"\" width=\"275\" height=\"43\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image23.png 576w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image23-300x47.png 300w\" sizes=\"auto, (max-width: 275px) 100vw, 275px\" \/><\/a><\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2><span style=\"font-weight: 400;\">Configuring Okta as the IdP continued\u2026<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Now that you have Couchbase, and you have the ACS endpoint, you need to go back to Okta to finish the configuration.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Change placeholder<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">SAML Settings:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><b>Go to General: <\/b><span style=\"font-weight: 400;\">Go back to Okta and open the General Tab<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><b>Open SAML Settings<\/b><span style=\"font-weight: 400;\">: Scroll down to SAML Settings and the <\/span><b>Edit<\/b><span style=\"font-weight: 400;\"> link<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><b>Next<\/b><span style=\"font-weight: 400;\">: Click next to go the SAML Settings tab<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><b>Single Sign-On URL<\/b><span style=\"font-weight: 400;\"> (ACS URL): Enter the Assertion Consumer Service (ACS) URL that you configured in Couchbase server. You need to copy the \u201cCurrent SP consume URL\u201d from Couchbase server UI and paste the value into this field.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image19.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15928\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image19-1024x146.png\" alt=\"\" width=\"603\" height=\"86\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image19-1024x146.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image19-300x43.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image19-768x110.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image19-1536x220.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image19-1320x189.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image19.png 1650w\" sizes=\"auto, (max-width: 603px) 100vw, 603px\" \/><\/a><\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><b>Audience URI <\/b><span style=\"font-weight: 400;\">(SP Entity ID): At this point you need to double check if the \u201cSP Entity ID\u201d in Couchbase server is the same as the \u201c<\/span><span style=\"font-weight: 400;\">Audience URI\u201d in Okta.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"2\"><b>Finish<\/b><span style=\"font-weight: 400;\">: First press \u201cNext\u201d then \u201cFinish\u201d at the bottom of the screen to save your changes.\u00a0\u00a0<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3><span style=\"font-weight: 400;\">Assign users to the application<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Go to Assignments:<\/b><span style=\"font-weight: 400;\"> Navigate to the <strong>Assignments<\/strong>\u00a0tab in your application.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Assign Users: <\/b><span style=\"font-weight: 400;\">Click <strong>Assign<\/strong> and then <strong>Assign to People<\/strong>\u00a0to add users who will be using this SAML SSO setup.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Done:<\/b><span style=\"font-weight: 400;\"> Confirm the assignment.\u00a0<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400;\">Upload SP certificate and enable logout<\/span><\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Open SAML Configuration<\/b><span style=\"font-weight: 400;\">: Go back to SAML Configuration screen in the Couchbase server UI\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Save SP Certificate: <\/b><span style=\"font-weight: 400;\">Click on the Download Metadata button<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image31.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15929\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image31-1024x263.png\" alt=\"\" width=\"600\" height=\"154\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image31-1024x263.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image31-300x77.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image31-768x198.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image31-1536x395.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image31-1320x340.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image31.png 1780w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Open file<\/b><span style=\"font-weight: 400;\">: Open the Metadata file you just downloaded in a text editor<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Extract certificate<\/b><span style=\"font-weight: 400;\">: Find <em>&lt;KeyDescriptor&gt;<\/em> inside this file, within that you will find the <em>&lt;X509Certificate&gt;<\/em> tag which contains the certificate.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Format Certificate<\/b><span style=\"font-weight: 400;\">: Open <\/span><a href=\"https:\/\/www.samltool.com\/format_x509cert.php\"><span style=\"font-weight: 400;\">https:\/\/www.samltool.com\/format_x509cert.php<\/span><\/a><span style=\"font-weight: 400;\"> or a similar tool to format this certificate to include headers.<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image1-3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15930\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image1-3-1024x197.png\" alt=\"\" width=\"598\" height=\"115\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image1-3-1024x197.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image1-3-300x58.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image1-3-768x147.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image1-3-1536x295.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image1-3-1320x253.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image1-3.png 1740w\" sizes=\"auto, (max-width: 598px) 100vw, 598px\" \/><\/a><\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/li>\n<li aria-level=\"1\"><b>Save certificate<\/b><span style=\"font-weight: 400;\">: Save the formatted certificate into a new file using a text editor of your choice.\u00a0<\/span><\/li>\n<li aria-level=\"1\"><b>Navigate to Okta<\/b><span style=\"font-weight: 400;\">: Go back to your Okta console and open the application<\/span><\/li>\n<li aria-level=\"1\"><b>Go to General: <\/b><span style=\"font-weight: 400;\">Go back to Okta and open the General Tab<\/span><\/li>\n<li aria-level=\"1\"><b>Open SAML Settings<\/b><span style=\"font-weight: 400;\">: Scroll down to SAML Settings and the <\/span><b>Edit<\/b><span style=\"font-weight: 400;\"> link<\/span><\/li>\n<li aria-level=\"1\"><b>Next<\/b><span style=\"font-weight: 400;\">: Click next to go the SAML Settings tab<\/span><\/li>\n<li aria-level=\"1\"><b>Show Advanced<\/b><span style=\"font-weight: 400;\">: Click on Show Advanced Settings<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image18.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15931\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image18-1024x864.png\" alt=\"\" width=\"600\" height=\"506\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image18-1024x864.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image18-300x253.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image18-768x648.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image18-1320x1114.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image18.png 1484w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><br \/>\n<\/span><\/li>\n<li aria-level=\"1\"><b>Navigate to Signature certificate<\/b>: Scroll down to the field called <em>Signature certificate\u00a0<\/em><\/li>\n<li aria-level=\"1\"><b>Upload certificate<\/b><span style=\"font-weight: 400;\">: Upload the certificate you saved in step 6<\/span><\/li>\n<li aria-level=\"1\"><b>Enable Signed Requests: <\/b><span style=\"font-weight: 400;\">Below the Upload certificate field, you can find the Enable Signed Request setting. <\/span><span style=\"font-weight: 400;\">You need to enable the Validate SAML requests with signature certificates toggle so that the iDP can validate the SAMLRequests received from Couchbase.<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15932\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image12-1024x151.png\" alt=\"\" width=\"605\" height=\"89\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image12-1024x151.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image12-300x44.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image12-768x114.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image12-1320x195.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image12.png 1380w\" sizes=\"auto, (max-width: 605px) 100vw, 605px\" \/><\/a><br \/>\n<\/span><\/li>\n<li aria-level=\"1\"><b>Enable Single Logout<\/b>: It is also possible to enable Single logout. In this case Couchbase server will log out the user from the iDP when the user clicks the logout button on the Couchbase server UI.\n<ul>\n<li aria-level=\"1\"><span style=\"font-weight: 400;\">First you need to go to Couchbase server and copy the Logout URL<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image24.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15933\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image24-1024x252.png\" alt=\"\" width=\"602\" height=\"148\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image24-1024x252.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image24-300x74.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image24-768x189.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image24.png 1274w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/a><br \/>\n<\/span><\/li>\n<li aria-level=\"1\"><span style=\"font-weight: 400;\">Paste it into the Single Logout URL field in Okta<\/span><\/li>\n<li aria-level=\"1\"><span style=\"font-weight: 400;\">Also copy the Entity ID to the SP Issuer field<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image14.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15934\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image14-1024x244.png\" alt=\"\" width=\"597\" height=\"142\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image14-1024x244.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image14-300x71.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image14-768x183.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image14-1320x314.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image14.png 1412w\" sizes=\"auto, (max-width: 597px) 100vw, 597px\" \/><\/a><br \/>\n<\/span><\/li>\n<li aria-level=\"1\">Please note the logout will only work if you go back to Okta and copy the Metadata information again and refresh it in Couchbase server as the Original metadata did not have logout enabled.<\/li>\n<\/ul>\n<\/li>\n<li aria-level=\"1\"><b>Finish<\/b><span style=\"font-weight: 400;\">: First press \u201cNext\u201d then \u201cFinish\u201d at the bottom of the screen to save your changes.\u00a0<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">By following these steps, you should have successfully configured Okta as the Identity Provider (IdP) for your SAML Service Provider (SP). The next section will cover how to map user attributes between Okta and Couchbase server.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400;\">Mapping Okta users to Couchbase Server users<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">After successfully configuring Okta as your Identity Provider (IdP) and Couchbase server as the Service Provider (SP), the next step is to ensure that user attributes are correctly mapped between the two. Attribute mapping is crucial for a seamless user experience and for ensuring that the necessary user information is available in your application.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">User to user mapping<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The most simple way to map users is to create external users in Couchbase server that match the users in Okta. In this example I did just that.\u00a0<\/span><\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Find email in Okta<\/b><span style=\"font-weight: 400;\">: Go back to your Okta dashboard and find the email address of your user.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Open Couchbase server UI<\/b><span style=\"font-weight: 400;\">: Open Couchbase server UI<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Click on Security<\/b><span style=\"font-weight: 400;\">: On the left you can find the security link<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Open the Users tab<\/b><span style=\"font-weight: 400;\">: On the top you will find the Users\/Groups tab click on that to list the users in Couchbase Server:<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image27.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15935\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image27-1024x54.png\" alt=\"\" width=\"594\" height=\"31\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image27-1024x54.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image27-300x16.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image27-768x41.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image27-1320x70.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image27.png 1428w\" sizes=\"auto, (max-width: 594px) 100vw, 594px\" \/><\/a><\/span><b><\/b><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Add user<\/b><span style=\"font-weight: 400;\">: Click on the Add user button on the top right corner<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>External user<\/b><span style=\"font-weight: 400;\">: You need to make sure you set up your user as\u00a0 \u201cExternal\u201d\u00a0 <\/span><a href=\"https:\/\/docs.couchbase.com\/server\/current\/manage\/manage-security\/manage-users-and-roles.html#adding-an-externally-authenticated-user\"><span style=\"font-weight: 400;\">see our documentation<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Fill in username:<\/b><span style=\"font-weight: 400;\"> You copy the Okta username into this field<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image22.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15936\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image22-1024x278.png\" alt=\"\" width=\"609\" height=\"165\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image22-1024x278.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image22-300x81.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image22-768x208.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image22-1536x416.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image22-1320x358.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image22.png 1564w\" sizes=\"auto, (max-width: 609px) 100vw, 609px\" \/><\/a><\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/li>\n<li aria-level=\"1\"><b>Set up roles:<\/b><span style=\"font-weight: 400;\"> On the right hand side you need to select the exact roles your user should have<\/span><\/li>\n<li aria-level=\"1\"><b>Set up Groups:<\/b><span style=\"font-weight: 400;\"> (Optional) You can also add your external user to any Couchbase\u00a0 server groups you specified earlier<\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h3><span style=\"font-weight: 400;\">User to group mapping<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Another way to map users is to create groups in\u00a0 Couchbase server that match the groups in Okta.<\/span><\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Navigate to Okta<\/b><span style=\"font-weight: 400;\">: Go back to your Okta console and\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Create a group<\/b><span style=\"font-weight: 400;\">: Create a group in Okta called <\/span><b>test<\/b><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Open the application<\/b><span style=\"font-weight: 400;\">: Select the application you configured earlier.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Go to General: <\/b><span style=\"font-weight: 400;\">Go back to Okta and open the General Tab<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Open SAML Settings<\/b><span style=\"font-weight: 400;\">: Scroll down to SAML Settings and the <\/span><b>Edit<\/b><span style=\"font-weight: 400;\"> link<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Next<\/b><span style=\"font-weight: 400;\">: Click next to go the SAML Settings tab<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Create a group mapping<\/b><span style=\"font-weight: 400;\">: Scroll down to the Group Attribute Statements, and create a new mapping. In this case I am creating a assertion called groups <\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image30.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15937\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image30-1024x329.png\" alt=\"\" width=\"600\" height=\"193\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image30-1024x329.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image30-300x96.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image30-768x247.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image30-1320x424.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image30.png 1402w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Navigate to the Couchbase server UI<\/b><span style=\"font-weight: 400;\">: Go back to the Couchbase server UI and open the SAML settings<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Open Single sign on settings<\/b><span style=\"font-weight: 400;\">: Scroll down and open Settings &gt; Single sign on<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Setup group mapping:<\/b><span style=\"font-weight: 400;\"> Enter the name of the group claim you have created on the Okta side.<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image15.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15938\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image15.png\" alt=\"\" width=\"447\" height=\"267\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image15.png 908w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image15-300x179.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image15-768x458.png 768w\" sizes=\"auto, (max-width: 447px) 100vw, 447px\" \/><\/a><\/span><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p>You need to make sure that you have\u00a0 a Couchbase server group that matches the name of your Okta group for this to work. Once the groups are created you will be able to log in with an Okta user to Couchbase where the Couchbase roles will be inferred from the group mapping.<\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"font-weight: 400;\">Conclusion<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Congratulations! If you&#8217;ve followed along with this comprehensive guide, you should now have a fully functional SAML-based Single Sign-On (SSO) and Single Logout (SLO) setup between Okta and Couchbase server.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In summary, integrating Couchbase server with Okta via SAML not only streamlines the authentication process but also enhances security, providing a seamless user experience without compromising on data integrity. We&#8217;ve walked through the essential steps to set up this connection, and I hope you find this guide useful. If you encounter any challenges or have further questions, feel free to reach out through our support channels.<\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to this comprehensive guide on integrating Okta with Couchbase Server!\u00a0 In this article, we will walk you through the step-by-step process of setting up a secure and seamless authentication flow using Okta as the Identity Provider (IdP) and Couchbase [&hellip;]<\/p>\n","protected":false},"author":84313,"featured_media":15939,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1814,1815,2242,1816,1813],"tags":[9954,9917],"ppma_author":[9812],"class_list":["post-15906","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-application-design","category-best-practices-and-tutorials","category-connectors","category-couchbase-server","category-security","tag-okta","tag-sso"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Integrating Couchbase Server with Okta: A Step-by-Step Guide to Seamless Authentication - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"By the end of this guide, you&#039;ll have a fully functional SSO setup, allowing users to log in and log out of Couchbase server UI using SAML.\" \/>\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.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Integrating Couchbase Server with Okta: A Step-by-Step Guide to Seamless Authentication\" \/>\n<meta property=\"og:description\" content=\"By the end of this guide, you&#039;ll have a fully functional SSO setup, allowing users to log in and log out of Couchbase server UI using SAML.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-06-19T17:47:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-24T17:02:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image4-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Istvan Orban\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Istvan Orban\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"17 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/\"},\"author\":{\"name\":\"Istvan Orban, Principal Product Manager\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/da80693db66ef61daaabe98bc56afc26\"},\"headline\":\"Integrating Couchbase Server with Okta: A Step-by-Step Guide to Seamless Authentication\",\"datePublished\":\"2024-06-19T17:47:18+00:00\",\"dateModified\":\"2024-06-24T17:02:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/\"},\"wordCount\":2376,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image4-2.png\",\"keywords\":[\"okta\",\"SSO\"],\"articleSection\":[\"Application Design\",\"Best Practices and Tutorials\",\"Connectors\",\"Couchbase Server\",\"Security\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/\",\"name\":\"Integrating Couchbase Server with Okta: A Step-by-Step Guide to Seamless Authentication - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image4-2.png\",\"datePublished\":\"2024-06-19T17:47:18+00:00\",\"dateModified\":\"2024-06-24T17:02:44+00:00\",\"description\":\"By the end of this guide, you'll have a fully functional SSO setup, allowing users to log in and log out of Couchbase server UI using SAML.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image4-2.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image4-2.png\",\"width\":1024,\"height\":1024,\"caption\":\"Couchbase and OKTA integration for SSO\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integrating Couchbase Server with Okta: A Step-by-Step Guide to Seamless Authentication\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/da80693db66ef61daaabe98bc56afc26\",\"name\":\"Istvan Orban, Principal Product Manager\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/c873b4cba9199faca7f2d3db2f443f81\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/04\/image_2023-04-25_205027722.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/04\/image_2023-04-25_205027722.png\",\"caption\":\"Istvan Orban, Principal Product Manager\"},\"description\":\"Istvan Orban is the Principal Product Manager for Couchbase and lives in the United Kingdom. Istvan has a wide range of experience as a Full stack Software Engineer, Team leader and Devops Engineer. His main focus is security and Single Sign On. Istvan has led several large scale projects of his 20 year professional career.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/istvanorban\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Integrating Couchbase Server with Okta: A Step-by-Step Guide to Seamless Authentication - The Couchbase Blog","description":"By the end of this guide, you'll have a fully functional SSO setup, allowing users to log in and log out of Couchbase server UI using SAML.","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.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/","og_locale":"en_US","og_type":"article","og_title":"Integrating Couchbase Server with Okta: A Step-by-Step Guide to Seamless Authentication","og_description":"By the end of this guide, you'll have a fully functional SSO setup, allowing users to log in and log out of Couchbase server UI using SAML.","og_url":"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/","og_site_name":"The Couchbase Blog","article_published_time":"2024-06-19T17:47:18+00:00","article_modified_time":"2024-06-24T17:02:44+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2024\/06\/image4-2.png","type":"image\/png"}],"author":"Istvan Orban","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Istvan Orban","Est. reading time":"17 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/"},"author":{"name":"Istvan Orban, Principal Product Manager","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/da80693db66ef61daaabe98bc56afc26"},"headline":"Integrating Couchbase Server with Okta: A Step-by-Step Guide to Seamless Authentication","datePublished":"2024-06-19T17:47:18+00:00","dateModified":"2024-06-24T17:02:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/"},"wordCount":2376,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image4-2.png","keywords":["okta","SSO"],"articleSection":["Application Design","Best Practices and Tutorials","Connectors","Couchbase Server","Security"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/","url":"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/","name":"Integrating Couchbase Server with Okta: A Step-by-Step Guide to Seamless Authentication - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image4-2.png","datePublished":"2024-06-19T17:47:18+00:00","dateModified":"2024-06-24T17:02:44+00:00","description":"By the end of this guide, you'll have a fully functional SSO setup, allowing users to log in and log out of Couchbase server UI using SAML.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image4-2.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2024\/06\/image4-2.png","width":1024,"height":1024,"caption":"Couchbase and OKTA integration for SSO"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/integrate-couchbase-okta-authentication\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Integrating Couchbase Server with Okta: A Step-by-Step Guide to Seamless Authentication"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/da80693db66ef61daaabe98bc56afc26","name":"Istvan Orban, Principal Product Manager","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/c873b4cba9199faca7f2d3db2f443f81","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/04\/image_2023-04-25_205027722.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/04\/image_2023-04-25_205027722.png","caption":"Istvan Orban, Principal Product Manager"},"description":"Istvan Orban is the Principal Product Manager for Couchbase and lives in the United Kingdom. Istvan has a wide range of experience as a Full stack Software Engineer, Team leader and Devops Engineer. His main focus is security and Single Sign On. Istvan has led several large scale projects of his 20 year professional career.","url":"https:\/\/www.couchbase.com\/blog\/author\/istvanorban\/"}]}},"authors":[{"term_id":9812,"user_id":84313,"is_guest":0,"slug":"istvanorban","display_name":"Istvan Orban","avatar_url":{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/04\/image_2023-04-25_205027722.png","url2x":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2023\/04\/image_2023-04-25_205027722.png"},"author_category":"","last_name":"Orban","first_name":"Istvan","job_title":"","user_url":"","description":"Istvan Orban is the Principal Product Manager for Couchbase and lives in the United Kingdom. Istvan has a wide range of experience as a Full stack Software Engineer, Team leader and Devops Engineer. His main focus is security and Single Sign On. Istvan has led several large scale projects of his 20 year professional career."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/15906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/84313"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=15906"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/15906\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/15939"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=15906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=15906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=15906"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=15906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}