Go forward проксиде r.BasicAuth Authorization аталышын окуйт, ал максаттуу веб-сайтка кирүүгө таандык. Проксинин өзүнүн эсептик маалыматтары Proxy-Authorization ичинде келет.

Кичинекей адаптер баштапкы сурамды өзгөртпөстөн жалпы талдоочуну кайра колдоно алат:

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-Authenticate чакырыгы менен 407 кайтарып, ошол сурамды иштетүүнү токтотуңуз. Максатка байланыш ачканга чейин же CONNECT туннелин кабыл алганга чейин аутентификациялаңыз.

Эсептик маалыматтарды кабыл алгандан кийин, кадимки өткөрүүдөн мурун проксинин өзүнүн Proxy-Authorization аталышын колдонуңуз. Баштапкы Authorization талаасын башат үчүн сактаңыз. Жогорку аталык прокси болсо, ал бул кардардын эсептик маалыматын кокусунан алуунун ордуна өзүнүн атайын аутентификация жөндөөсүнө муктаж.

Тектеш макалалар