Хотя я очень хорошо разбираюсь в среде выполнения AppEngine / Python, я новичок в среде выполнения Go. Мое первое приложение почти готово к развертыванию, но мне все еще нужно предоставить пользователю возможность войти в систему. Я надеюсь использовать OpenID, поскольку я бы предпочел не требовать, чтобы у пользователя был идентификатор Google.
Однако похоже, что рабочих примеров нет или почти нет, и в явной документации AppEngine опущено содержимое функции, которую мне нужно реализовать:
func init() {
http.HandleFunc("/_ah/login_required", openIdHandler)
}
func openIdHandler(w http.ResponseWriter, r *http.Request) {
// ...
}
Что входит в openIdHandler
func?
Я понимаю, что мне нужно предоставить страницу, которая позволит пользователю выбрать одного из множества поставщиков OpenId и ввести свой идентификатор для этой системы. Я просто не знаю, что мне делать после этого. Что такое рабочий процесс? Кто-нибудь знает какой-либо образец кода, на который я могу взглянуть, чтобы получить общее представление о том, что я должен делать и какие данные я должен обрабатывать? Все мои отточенные гугл-фу ни к чему не привели.
Для ясности: я не собираюсь взаимодействовать с какими-либо услугами, предоставляемыми этими поставщиками OpenId; Я не хочу создавать твиты или Живую ленту. Мне не нужен доступ к контактам, документам, сообщениям на стене или чему-либо еще. Мне просто нужны аутентифицированные учетные данные, которые я могу использовать в своем приложении, чтобы ограничить доступ пользователей только к его или ее собственным данным.