Będzie to działać z wykorzystaniem funkcji logowania do logowania Google Plus, która według mnie jest jedyną, która umożliwia uwierzytelnianie krzyżowe, więc zakresy to Google Plus Zaloguj.
"www [kropka] googleapis [dot] com/auth/plus.login"
Więc co się tu dzieje to dostaniesz access_token z rozszerzenia, które będzie wysyłać do Firebase z prośbą wykorzystaniem authwihtoauthtoken określający google jako dostawcę wraz z access_token uzyskanym z chrome.identity.getAuthToken()!
https://www.firebase.com/docs/web/api/firebase/authwithoauthtoken.html
Teraz jest fakt, że dostęp ten żeton może zostać wydany przez inną aplikację, więc musimy się upewnić, że jest on ważny i czy został wydany dla naszej aplikacji, po prostu musimy wiedzieć Nie nieprawdaż Mężczyzna w środku próbuje uzyskać dostęp do naszej bazy danych.
Ta weryfikacja jest przeprowadzana przez firebase.
Będą sprawdzać, czy token należy do tego samego wniosku, w którym został wydany token.
Musisz więc utworzyć inny zestaw poświadczeń w tej samej aplikacji w konsoli programistów google, jak w przypadku swojego rozszerzenia. Zasadniczo robimy to samo, co gdybyśmy zrobili to dla naszej strony internetowej, ale będziemy wstawiać ten nowy zestaw poświadczeń do oFeury goo firebase w ich sekcji bezpieczeństwa.
Zrobią to za nas tam. Będą weryfikować za pomocą google, jeśli token zostanie wysłany do tej samej aplikacji.
To wszystko.
Informacje dodatkowe.
https://developers.google.com/identity/protocols/OAuth2UserAgent#validatetoken
przypadków użycia
Wysyłanie znaki identyfikacyjne z wniosków, które muszą być uwierzytelnione. Na przykład, jeśli chcesz przekazać dane do swojego serwera i chcesz upewnić się, że dane pochodzą od konkretnego użytkownika.
Kiedy zweryfikować dostęp Wszystkie żetony potrzebne do weryfikacji na serwerze, chyba że wiesz, że pochodzą bezpośrednio od Google. Każdy token otrzymany z aplikacji klienckich musi zostać zweryfikowany.
Google ma tutorial jak to zrobić dla pytona adresem:
"github [dot] com/googleplus/gplus-verifytoken-python"
Więc w zasadzie to, co się tu dzieje jest; zamiast tego przeprowadzasz weryfikację na swoim serwerze, firebase wykonuje tę weryfikację dla ciebie, kiedy wpisujesz CLIENT_ID i APP_SECRET do bazy ogniowej i włączasz Uwierzytelnianie Google.
Sposób wykonania tej czynności jest kombinacją lub takim samym stylem weryfikacji, dla której wystawiono atrybut client_secret. Chrome da ci access_token, a następnie ten access_token będzie sprawdzany na zapleczu firewallu.
Inżynier w Firebase tutaj. Ponieważ rozszerzenia Chrome pozwalają na bardziej rozbudowane modyfikacje żądań HTTP, możesz skonfigurować inne narzędzie odsyłające, co może nie być bezpiecznym rozwiązaniem. Jeśli masz szansę, chciałbym usłyszeć trochę więcej na temat twojego przypadku użycia i jakiego typu uwierzytelnienia chcesz użyć w swoim rozszerzeniu - napisz do mnie na adres [email protected] –
Napisze do ciebie ludzie o tym. Mam długa kartkę z notatkami, które zrobiłem podczas pracy nad tym. Obecnie system ma kod na 3 różne platformy i rozszerzy się na około 12 platform. Myślę, że moglibyście uznać to za interesujące. –