ក្នុង forward proxy Go, r.BasicAuth អាន Authorization header ដែលជាកម្មសិទ្ធិរបស់ការចូលគេហទំព័រគោលដៅ។ ព័ត៌មានសម្គាល់ខ្លួនរបស់ proxy ខ្លួនវាមកក្នុង Proxy-Authorization។

អាដាប់ទ័រតូចមួយអាចប្រើ parser សាធារណៈឡើងវិញដោយមិនផ្លាស់ប្តូរសំណើដើម៖

func proxyBasicAuth(r *http.Request) (string, string, bool) {
    headers := make(http.Header)
    headers.Set("Authorization", r.Header.Get("Proxy-Authorization"))
    return (&http.Request{Header: headers}).BasicAuth()
}

ផ្នែកនេះប្រើ net/http។ វាត្រឡប់តម្លៃដែលបានវិភាគ និងសញ្ញាជោគជ័យនៃការវិភាគ។ វាមិនផ្ទៀងផ្ទាត់គណនីទេ។ បញ្ជូនលទ្ធផលទៅអ្នកផ្ទៀងផ្ទាត់ព័ត៌មានសម្គាល់ខ្លួនដែល proxy បានកំណត់។

ប្រសិនបើការផ្ទៀងផ្ទាត់បរាជ័យ សូមត្រឡប់ 407 ជាមួយ Proxy-Authenticate challenge សមស្រប ហើយបញ្ឈប់ដំណើរការសំណើនោះ។ ផ្ទៀងផ្ទាត់មុនពេលបើកការតភ្ជាប់ទៅគោលដៅ ឬទទួលយក CONNECT tunnel។

បន្ទាប់ពីទទួលយកព័ត៌មានសម្គាល់ខ្លួន សូមប្រើ Proxy-Authorization header របស់ proxy ខ្លួនវាមុនការបញ្ជូនធម្មតា។ រក្សា Authorization field ដើមសម្រាប់ប្រភព។ ប្រសិនបើមាន proxy មេនៅខាងលើ វាត្រូវការការរៀបចំផ្ទៀងផ្ទាត់ដោយចេតនាដោយខ្លួនឯង ជាជាងទទួលព័ត៌មានសម្គាល់ខ្លួនរបស់អតិថិជននេះដោយចៃដន្យ។

អត្ថបទពាក់ព័ន្ធ