go開源項(xiàng)目用戶名密碼驗(yàn)證的邏輯鬼才寫法
引言
這兩天在做微服務(wù)上云的事,之前一直是本地運(yùn)行,后來在服務(wù)器搭建了生產(chǎn)環(huán)境集群。上云時(shí)出現(xiàn)了一些幺蛾子
云上的服務(wù)都需要身份驗(yàn)證的,沒有專用網(wǎng)關(guān)的話,至少也要設(shè)置 basicAuth(用戶名+密碼的方式)
今天使用 Golang 知名項(xiàng)目 Viper 連接遠(yuǎn)端配置中心 Consul 的時(shí)候發(fā)現(xiàn)怎么連接都不行。在不使用密碼的情況下代碼應(yīng)該是這樣子的

按理說,basicAuth 的話只需要在 URL 那里使用 username:password 就可以了,例如:
username:password@consul.domaini.com
但這么填寫的話,就會出現(xiàn)連接不上的情況,真的坑。
于是我順著網(wǎng)線一路查看代碼,閱讀到關(guān)鍵位置

原來它并不是讓開發(fā)者通過常規(guī)的 URL 方式設(shè)置用戶名密碼,也不是讓開發(fā)者填入用戶名密碼參數(shù),而是從本地環(huán)境變量里面取,真邏輯鬼才 ~
正確的寫法應(yīng)該是下面這樣

如果沒有跟著網(wǎng)線找的話,真的會被它尬死,放一下它的其他代碼

重要的是,它的文檔 github.com/spf13/viper 里面并沒有提及這些內(nèi)容
最后補(bǔ)一下,很多人說國內(nèi)程序員差 、國內(nèi)程序員沒有創(chuàng)造力 、外國程序員就是流批。說實(shí)在的,我們只是沒有那么多時(shí)間(都是加班作的),英語也沒那么好。要不然哪里還會有這些瞎編的說法,你覺得呢?
以上就是go開源項(xiàng)目中邏輯鬼才寫法的詳細(xì)內(nèi)容,更多關(guān)于go開源邏輯代碼的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Go?語言簡單實(shí)現(xiàn)Vigenere加密算法
這篇文章主要介紹了Go語言簡單實(shí)現(xiàn)Vigenere加密算法,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-09-09
深入string理解Golang是怎樣實(shí)現(xiàn)的
這篇文章主要為大家介紹了深入string理解Golang是怎樣實(shí)現(xiàn)的原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Golang 實(shí)現(xiàn)Socket服務(wù)端和客戶端使用TCP協(xié)議通訊
這篇文章主要介紹了Golang 實(shí)現(xiàn)Socket服務(wù)端和客戶端使用TCP協(xié)議通訊,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
關(guān)于golang利用channel和goroutine完成統(tǒng)計(jì)素?cái)?shù)的思路
這篇文章主要介紹了golang利用channel和goroutine完成統(tǒng)計(jì)素?cái)?shù)的思路詳解,通過思路圖分析及實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-08-08
Go使用協(xié)程批量獲取數(shù)據(jù)加快接口返回速度
這篇文章主要介紹了Go使用協(xié)程批量獲取數(shù)據(jù)加快接口返回速度,使用Go語言后,可以并發(fā)獲取,極大提升效率,需要的朋友可以參考下2023-02-02
GoLang中panic與recover函數(shù)以及defer語句超詳細(xì)講解
這篇文章主要介紹了GoLang的panic、recover函數(shù),以及defer語句,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2023-01-01

