go開源項目用戶名密碼驗證的邏輯鬼才寫法
引言
這兩天在做微服務上云的事,之前一直是本地運行,后來在服務器搭建了生產(chǎn)環(huán)境集群。上云時出現(xiàn)了一些幺蛾子
云上的服務都需要身份驗證的,沒有專用網(wǎng)關的話,至少也要設置 basicAuth(用戶名+密碼的方式)
今天使用 Golang 知名項目 Viper 連接遠端配置中心 Consul 的時候發(fā)現(xiàn)怎么連接都不行。在不使用密碼的情況下代碼應該是這樣子的
按理說,basicAuth 的話只需要在 URL 那里使用 username:password 就可以了,例如:
username:password@consul.domaini.com
但這么填寫的話,就會出現(xiàn)連接不上的情況,真的坑。
于是我順著網(wǎng)線一路查看代碼,閱讀到關鍵位置
原來它并不是讓開發(fā)者通過常規(guī)的 URL 方式設置用戶名密碼,也不是讓開發(fā)者填入用戶名密碼參數(shù),而是從本地環(huán)境變量里面取,真邏輯鬼才 ~
正確的寫法應該是下面這樣
如果沒有跟著網(wǎng)線找的話,真的會被它尬死,放一下它的其他代碼
重要的是,它的文檔 github.com/spf13/viper 里面并沒有提及這些內(nèi)容
最后補一下,很多人說國內(nèi)程序員差 、國內(nèi)程序員沒有創(chuàng)造力 、外國程序員就是流批。說實在的,我們只是沒有那么多時間(都是加班作的),英語也沒那么好。要不然哪里還會有這些瞎編的說法,你覺得呢?
以上就是go開源項目中邏輯鬼才寫法的詳細內(nèi)容,更多關于go開源邏輯代碼的資料請關注腳本之家其它相關文章!
相關文章
Golang 實現(xiàn)Socket服務端和客戶端使用TCP協(xié)議通訊
這篇文章主要介紹了Golang 實現(xiàn)Socket服務端和客戶端使用TCP協(xié)議通訊,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12關于golang利用channel和goroutine完成統(tǒng)計素數(shù)的思路
這篇文章主要介紹了golang利用channel和goroutine完成統(tǒng)計素數(shù)的思路詳解,通過思路圖分析及實例代碼相結合給大家介紹的非常詳細,需要的朋友可以參考下2021-08-08Go使用協(xié)程批量獲取數(shù)據(jù)加快接口返回速度
這篇文章主要介紹了Go使用協(xié)程批量獲取數(shù)據(jù)加快接口返回速度,使用Go語言后,可以并發(fā)獲取,極大提升效率,需要的朋友可以參考下2023-02-02GoLang中panic與recover函數(shù)以及defer語句超詳細講解
這篇文章主要介紹了GoLang的panic、recover函數(shù),以及defer語句,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2023-01-01