{"id":3383,"date":"2017-05-01T14:15:58","date_gmt":"2017-05-01T21:15:58","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=3383"},"modified":"2025-06-13T21:28:58","modified_gmt":"2025-06-14T04:28:58","slug":"new-sdk-authentication","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/new-sdk-authentication\/","title":{"rendered":"M\u00e9todos de autentica\u00e7\u00e3o do SDK aprimorados - Couchbase 5.0"},"content":{"rendered":"<p><strong>Servidor Couchbase 5.0<\/strong> oferece \u00f3timos\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/pt\/authentication-authorization-rbac\/\">novos recursos de autentica\u00e7\u00e3o<\/a>\u00a0que exigem algumas pequenas altera\u00e7\u00f5es no c\u00f3digo de conex\u00e3o do cliente.  As altera\u00e7\u00f5es espec\u00edficas no SDK est\u00e3o descritas nesta postagem e tamb\u00e9m se referem \u00e0s altera\u00e7\u00f5es feitas na vers\u00e3o de pr\u00e9-lan\u00e7amento <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-5-0-april-2017-developer-build\/\"><strong>Compila\u00e7\u00e3o do desenvolvedor de abril <\/strong><\/a>bem como as pr\u00f3ximas vers\u00f5es Beta.<\/p>\n<p style=\"text-align: center;\"><em>Consulte a Introdu\u00e7\u00e3o ao controle de acesso baseado em fun\u00e7\u00e3o, de Matthew: <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/authentication-authorization-rbac\/\">Parte 1<\/a>\u00a0&amp;\u00a0<a href=\"https:\/\/www.couchbase.com\/blog\/pt\/authentication-authorization-rbac-part-2\/\">Parte 2<\/a><\/em><\/p>\n<p>Em resumo, as senhas baseadas em baldes (e baldes sem senha) s\u00e3o agora coisa do passado.  Em vez disso, fornecemos controle de acesso em n\u00edvel de fun\u00e7\u00e3o refinado a buckets, dados e todos os servi\u00e7os.  Agora \u00e9 poss\u00edvel criar um usu\u00e1rio com fun\u00e7\u00f5es e direitos de acesso espec\u00edficos e, em seguida, conectar-se como esse usu\u00e1rio (com senha) em seu cliente.<\/p>\n<p>H\u00e1 tr\u00eas padr\u00f5es espec\u00edficos para usar esses novos recursos, e analiso cada op\u00e7\u00e3o nesta postagem.<\/p>\n<p>Como isso se baseia no c\u00f3digo do servidor de pr\u00e9-produ\u00e7\u00e3o, os exemplos podem mudar.  Observe tamb\u00e9m que voc\u00ea precisa ter o <strong>bibliotecas mais recentes do SDK<\/strong> para seu idioma, suportados no momento da reda\u00e7\u00e3o deste documento s\u00e3o\u00a0<strong>Java, .NET, Node.js, PHP, Python, Go<\/strong> e <strong>C<\/strong>.<\/p>\n<h2>Compartimentos nomeados pelo usu\u00e1rio<\/h2>\n<p>Se voc\u00ea continuar a usar a string de conex\u00e3o URI b\u00e1sica para um bucket sem um nome de usu\u00e1rio, h\u00e1 algumas suposi\u00e7\u00f5es que o cliente faz agora.<\/p>\n<p>Primeiro, ele presumir\u00e1 que voc\u00ea tem <strong>um usu\u00e1rio com o mesmo nome do seu bucket<\/strong>.  Os usu\u00e1rios que migram de vers\u00f5es anteriores ficar\u00e3o satisfeitos com isso, pois tudo o que precisam fazer \u00e9 <strong>fornecer uma senha<\/strong>\u00a0com a string de conex\u00e3o, conforme mostrado neste exemplo do Python:<\/p>\n<pre class=\"lang:python decode:true\">&gt;&gt;&gt; db = Bucket(\"couchbase:\/\/localhost\/tyler\",password=\"tyler123\")<\/pre>\n<p>(Esse uso simplificado \u00e9 limitado \u00e0s bibliotecas Python, PHP e C)<\/p>\n<p>O exposto acima pressup\u00f5e n\u00e3o apenas a exist\u00eancia de um <strong>balde<\/strong> nomeado\u00a0<em>tyler<\/em> mas tamb\u00e9m<strong> um usu\u00e1rio<\/strong> nomeado\u00a0<em>tyler<\/em> que tenha uma fun\u00e7\u00e3o de acesso ao bucket ativada.<\/p>\n<p><strong>Baldes sem senha<\/strong> n\u00e3o s\u00e3o mais permitidos, mas com uma exce\u00e7\u00e3o: os buckets migrados.  \u00c9 imposs\u00edvel criar um novo usu\u00e1rio sem uma senha, mas o processo de migra\u00e7\u00e3o criar\u00e1 usu\u00e1rios, sem senhas, para buckets que anteriormente n\u00e3o tinham uma.<\/p>\n<p>Como acima, o usu\u00e1rio ter\u00e1 o mesmo nome que o bucket e nenhuma senha.  Nesse caso, voc\u00ea pode passar uma string de senha vazia com a string de conex\u00e3o.<\/p>\n<p>Ap\u00f3s a migra\u00e7\u00e3o, todos os novos buckets e usu\u00e1rios precisar\u00e3o de senhas, portanto, esse \u00e9 um bom momento para mudar sua abordagem daqui para frente.<\/p>\n<h2>Como passar nome de usu\u00e1rio e senha com o nome do bucket<\/h2>\n<p>O novo paradigma de autentica\u00e7\u00e3o daqui para frente tem duas maneiras de gerenciar conex\u00f5es autenticadas.  A abordagem mais simples \u00e9 ajustar os par\u00e2metros de conex\u00e3o para incluir o nome de usu\u00e1rio e a senha, o que pode ser feito facilmente em Python, :<\/p>\n<pre class=\"lang:python decode:true\">&gt;&gt;&gt; db = Bucket(\"couchbase:\/\/localhost\/travel-sample\", nome de usu\u00e1rio=\"tyler\", senha=\"tyler123\")<\/pre>\n<p>No entanto, essa \u00e9 uma abordagem muito simplista.  H\u00e1 uma op\u00e7\u00e3o mais eficiente que usa o <strong>nova classe Authenticator<\/strong> para gerenciar a autentica\u00e7\u00e3o em, potencialmente, v\u00e1rios buckets.<\/p>\n<h2>Classe Authenticator para lidar com usu\u00e1rios e buckets<\/h2>\n<p>A maneira \"adequada\" de lidar com a autentica\u00e7\u00e3o \u00e9 desacopl\u00e1-la completamente do URI do Bucket e pass\u00e1-la para a conex\u00e3o do Cluster quando necess\u00e1rio.<\/p>\n<p>Aqui, a inicializa\u00e7\u00e3o do Authenticator pega um determinado Cluster e faz a autentica\u00e7\u00e3o nele.  Nesses exemplos, voc\u00ea v\u00ea que o padr\u00e3o em todos os idiomas \u00e9 o mesmo.  O Authenticator pode ent\u00e3o ser passado para outros Clusters, conforme desejado.<\/p>\n<h4>Python<\/h4>\n<pre class=\"lang:python decode:true\" title=\"Autenticador com Python\">from couchbase.cluster import Cluster\r\nfrom couchbase.cluster import PasswordAuthenticator\r\n\r\ncluster = Cluster('couchbase:\/\/localhost')\r\n  \r\nauthenticator = PasswordAuthenticator('username', 'password')\r\ncluster.authenticate(authenticator)\r\nbucket = cluster.open_bucket('bucket-name')\r\n<\/pre>\n<h4>Java<\/h4>\n<pre class=\"lang:java decode:true\" title=\"Autenticador com Java\">Cluster do cluster = CouchbaseCluster.create();\r\ncluster.authenticate(\"username\", \"password\");\r\nBucket bucket = cluster.openBucket(\"bucket-name\");<\/pre>\n<h4>.NET<\/h4>\n<pre class=\"lang:c# decode:true\" title=\"Autenticador com .NET\">var cluster = new Cluster(new ClientConfiguration\r\n  { Servers = new List { new Uri(\"https:\/\/localhost\") }});\r\nvar authenticator = new PasswordAuthenticator(\"username\", \"password\");\r\ncluster.Authenticate(authenticator);\r\nvar bucket = cluster.OpenBucket(\"bucket-name\");\r\n<\/pre>\n<h4>PHP<\/h4>\n<pre class=\"lang:php decode:true\">$authenticator = novo \\Couchbase\\PasswordAuthenticator();\r\n$authenticator-&gt;username('username')-&gt;password('password');\r\n\r\n$cluster = novo \\Couchbase\\Cluster('couchbase:\/\/localhost');\r\n$cluster-&gt;authenticate($authenticator);<\/pre>\n<h4>Node.js<\/h4>\n<pre class=\"lang:js decode:true\">var couchbase = require('couchbase');\r\nvar cluster = novo couchbase.Cluster('couchbase:\/\/localhost\/');\r\ncluster.authenticate('username', 'password');\r\nvar bucket = cluster.openBucket('bucket-name');<\/pre>\n<p>&nbsp;<\/p>\n<h3>Pr\u00f3ximas etapas<\/h3>\n<p>Observe que a principal mudan\u00e7a de design em seus aplicativos \u00e9 n\u00e3o usar uma senha espec\u00edfica para o bucket.  Em vez disso, voc\u00ea precisa ter um usu\u00e1rio com uma fun\u00e7\u00e3o adequada que tenha acesso a determinados buckets.<\/p>\n<p>Com apenas algumas linhas de altera\u00e7\u00e3o de c\u00f3digo, voc\u00ea aproveita facilmente os recursos de controle de acesso baseado em fun\u00e7\u00e3o do Couchbase Server 5.0.<\/p>\n<p>Fa\u00e7a o upgrade para o <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/couchbase-5-0-april-2017-developer-build\/\">\u00faltima vers\u00e3o de desenvolvedor<\/a> e atualize suas bibliotecas de clientes para come\u00e7ar a experiment\u00e1-lo.<\/p>\n<p>Junte-se a n\u00f3s em <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/forums\/\">os f\u00f3runs<\/a> em caso de d\u00favidas!<\/p>\n<p>&nbsp;<\/p>\n<div class=\"line number26 index25 alt1\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Couchbase Server 5.0 delivers some great\u00a0new authentication features\u00a0that require some minor changes to your client connection code. \u00a0The specific\u00a0changes to the SDK are outlined in this post and also refer to changes made in the pre-release April Developer Build as [&hellip;]<\/p>","protected":false},"author":75185,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811,1816,1818,1822,9408,9139,1813],"tags":[1455,1903,1962],"ppma_author":[9163],"class_list":["post-3383","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-couchbase-server","category-java","category-node-js","category-php","category-python","category-security","tag-authentication","tag-rbac","tag-role-based-access-control"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Improved SDK Authentication Methods - Couchbase 5.0<\/title>\n<meta name=\"description\" content=\"Couchbase 5.0 delivers new authentication security features that require minor changes to your client connection code. This post tells you how to do it!\" \/>\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\/pt\/new-sdk-authentication\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Improved SDK Authentication Methods - Couchbase 5.0\" \/>\n<meta property=\"og:description\" content=\"Couchbase 5.0 delivers new authentication security features that require minor changes to your client connection code. This post tells you how to do it!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/new-sdk-authentication\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-05-01T21:15:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T04:28:58+00:00\" \/>\n<meta name=\"author\" content=\"Tyler Mitchell - Senior Product Marketing Manager\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@1tylermitchell\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tyler Mitchell - Senior Product Marketing Manager\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/\"},\"author\":{\"name\":\"Tyler Mitchell - Senior Product Marketing Manager\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/684cc0e5c60cd2e4b591db9621494ed0\"},\"headline\":\"Improved SDK Authentication Methods &#8211; Couchbase 5.0\",\"datePublished\":\"2017-05-01T21:15:58+00:00\",\"dateModified\":\"2025-06-14T04:28:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/\"},\"wordCount\":599,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"authentication\",\"RBAC\",\"Role Based Access Control (RBAC)\"],\"articleSection\":[\".NET\",\"Couchbase Server\",\"Java\",\"Node.js\",\"PHP\",\"Python\",\"Security\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/\",\"name\":\"Improved SDK Authentication Methods - Couchbase 5.0\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-05-01T21:15:58+00:00\",\"dateModified\":\"2025-06-14T04:28:58+00:00\",\"description\":\"Couchbase 5.0 delivers new authentication security features that require minor changes to your client connection code. This post tells you how to do it!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Improved SDK Authentication Methods &#8211; Couchbase 5.0\"}]},{\"@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\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\/684cc0e5c60cd2e4b591db9621494ed0\",\"name\":\"Tyler Mitchell - Senior Product Marketing Manager\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/d8a7c532bf2b94b7a2fe7a8439aafd75\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ebec3213e756f2e1f7118fcb5722e2cd1484c9256ae34ceb8f77054b986f21ce?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ebec3213e756f2e1f7118fcb5722e2cd1484c9256ae34ceb8f77054b986f21ce?s=96&d=mm&r=g\",\"caption\":\"Tyler Mitchell - Senior Product Marketing Manager\"},\"description\":\"Works as Senior Product Marketing Manager at Couchbase, helping bring knowledge about products into the public limelight while also supporting our field teams with valuable content.\",\"sameAs\":[\"https:\/\/linkedin.com\/in\/tylermitchell\",\"https:\/\/x.com\/1tylermitchell\",\"https:\/\/www.youtube.com\/channel\/UCBZFuoiTcg0f3lGSQwLjeTg\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/tylermitchell\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Improved SDK Authentication Methods - Couchbase 5.0","description":"O Couchbase 5.0 oferece novos recursos de seguran\u00e7a de autentica\u00e7\u00e3o que exigem pequenas altera\u00e7\u00f5es no c\u00f3digo de conex\u00e3o do cliente. Esta postagem explica como fazer isso!","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\/pt\/new-sdk-authentication\/","og_locale":"pt_BR","og_type":"article","og_title":"Improved SDK Authentication Methods - Couchbase 5.0","og_description":"Couchbase 5.0 delivers new authentication security features that require minor changes to your client connection code. This post tells you how to do it!","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/new-sdk-authentication\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-05-01T21:15:58+00:00","article_modified_time":"2025-06-14T04:28:58+00:00","author":"Tyler Mitchell - Senior Product Marketing Manager","twitter_card":"summary_large_image","twitter_creator":"@1tylermitchell","twitter_misc":{"Written by":"Tyler Mitchell - Senior Product Marketing Manager","Est. reading time":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/"},"author":{"name":"Tyler Mitchell - Senior Product Marketing Manager","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/684cc0e5c60cd2e4b591db9621494ed0"},"headline":"Improved SDK Authentication Methods &#8211; Couchbase 5.0","datePublished":"2017-05-01T21:15:58+00:00","dateModified":"2025-06-14T04:28:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/"},"wordCount":599,"commentCount":4,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["authentication","RBAC","Role Based Access Control (RBAC)"],"articleSection":[".NET","Couchbase Server","Java","Node.js","PHP","Python","Security"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/","url":"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/","name":"Improved SDK Authentication Methods - Couchbase 5.0","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-05-01T21:15:58+00:00","dateModified":"2025-06-14T04:28:58+00:00","description":"O Couchbase 5.0 oferece novos recursos de seguran\u00e7a de autentica\u00e7\u00e3o que exigem pequenas altera\u00e7\u00f5es no c\u00f3digo de conex\u00e3o do cliente. Esta postagem explica como fazer isso!","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/new-sdk-authentication\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Improved SDK Authentication Methods &#8211; Couchbase 5.0"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","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":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@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\/684cc0e5c60cd2e4b591db9621494ed0","name":"Tyler Mitchell - Gerente s\u00eanior de marketing de produtos","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/d8a7c532bf2b94b7a2fe7a8439aafd75","url":"https:\/\/secure.gravatar.com\/avatar\/ebec3213e756f2e1f7118fcb5722e2cd1484c9256ae34ceb8f77054b986f21ce?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ebec3213e756f2e1f7118fcb5722e2cd1484c9256ae34ceb8f77054b986f21ce?s=96&d=mm&r=g","caption":"Tyler Mitchell - Senior Product Marketing Manager"},"description":"Works as Senior Product Marketing Manager at Couchbase, helping bring knowledge about products into the public limelight while also supporting our field teams with valuable content.","sameAs":["https:\/\/linkedin.com\/in\/tylermitchell","https:\/\/x.com\/1tylermitchell","https:\/\/www.youtube.com\/channel\/UCBZFuoiTcg0f3lGSQwLjeTg"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/tylermitchell\/"}]}},"authors":[{"term_id":9163,"user_id":75185,"is_guest":0,"slug":"tylermitchell","display_name":"Tyler Mitchell - Senior Product Marketing Manager","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/876da1e4284f1832c871b3514caf7867357744b8c0a370ef6f53a79dee2f379e?s=96&d=mm&r=g","author_category":"","last_name":"Mitchell - Senior Product Marketing Manager","first_name":"Tyler","job_title":"Senior Product Marketing Manager","user_url":"","description":"Trabalha como Gerente S\u00eanior de Marketing de Produto na Couchbase, ajudando a levar o conhecimento sobre os produtos para o centro das aten\u00e7\u00f5es do p\u00fablico e, ao mesmo tempo, apoiando nossas equipes de campo com conte\u00fado valioso. Sua paix\u00e3o pessoal s\u00e3o todas as coisas geoespaciais, tendo trabalhado em GIS durante metade de sua carreira. Agora, a IA e a pesquisa vetorial est\u00e3o em sua mente."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/3383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/75185"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=3383"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/3383\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=3383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=3383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=3383"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=3383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}