Chociaż jestem bardzo doświadczony w środowisku wykonawczym AppEngine/Python, jestem początkującym użytkownikiem runtime Go. Moja pierwsza aplikacja jest już prawie gotowa do wdrożenia, ale nadal potrzebuję możliwości zalogowania się użytkownika. Mam nadzieję, że skorzystam z OpenID, ponieważ wolałbym, aby użytkownik nie miał identyfikatora Google.Korzystanie z interfejsu AppEngine/Go Users API z OAuth: przykład kodu, przepływ pracy, jakaś pomoc?
Wydaje się jednak, że nie ma lub prawie nie ma przykładów pracy tam, a dokumentacja AppEngine jawnie pomija treść funkcji, które trzeba wdrożyć:
func init() {
http.HandleFunc("/_ah/login_required", openIdHandler)
}
func openIdHandler(w http.ResponseWriter, r *http.Request) {
// ...
}
co dzieje się wewnątrz openIdHandler
func ?
Rozumiem, że muszę podać stronę, która pozwoli użytkownikowi wybrać jednego z wielu dostawców OpenID i wprowadzić ich identyfikator dla tego systemu. Po prostu nie wiem, co robić dalej. Co to jest przepływ pracy? Czy ktokolwiek wie o jakimś przykładowym kodzie, na który mogę się przyjrzeć, aby uzyskać ogólne wyobrażenie o tym, co muszę zrobić i jakie dane muszę obsłużyć? Wszystkie moje dobrze wyszkolone google-fu nie doprowadziły mnie nigdzie.
Dla jasności, nie zamierzam wchodzić w interakcje z żadną z usług świadczonych przez tych dostawców OpenID; Nie chcę tworzyć tweetów ani buzzów. Nie chcę dostępu do kontaktów, dokumentów, wpisów na ścianie ani niczego innego. Po prostu chciałem uwierzytelnionego credenital, którego mogę użyć w mojej aplikacji, aby ograniczyć dostęp użytkowników tylko do własnych danych.