Stan można przekazać za pomocą adresu URL kontynuowania podczas wysyłania działań e-mail dla hasła resetuje lub weryfikuje adres e-mail użytkownika. Dzięki temu użytkownik może aby wrócić do aplikacji po zakończeniu danego działania. Możesz też określić czy link do działania e-maila ma być obsługiwany bezpośrednio z aplikacji mobilnej, jest zainstalowany zamiast strony internetowej.
Może to być bardzo przydatne w tych typowych sytuacjach:
Użytkownik, który nie jest obecnie zalogowany, może próbować uzyskać dostęp do treści, które wymaga zalogowania się. Użytkownik mógł jednak o tym nie zapomnieć. swojego hasła i uruchomić proces resetowania hasła. Na koniec użytkownik oczekuje, że wróci do tej sekcji, które próbujesz uzyskać.
Aplikacja może oferować dostęp tylko do zweryfikowanych kont. Dla: Na przykład newsletter może wymagać od użytkownika weryfikacji adresu e-mail przed zasubskrybowanie kanału. Użytkownik przechodzi proces weryfikacji przez e-maila i oczekuje, wrócić do aplikacji i dokończyć subskrypcję.
W innych przypadkach użytkownik mógł rozpocząć proces ze swojego urządzenia mobilnego. i oczekują, że po weryfikacji wrócą do aplikacji mobilnej, zamiast z przeglądarki.
Możliwość przekazywania stanu za pomocą adresu URL typu „Dalej” to zaawansowana funkcja, Zapewnia, że funkcja Uwierzytelnianie Firebase może znacznie zwiększyć wygodę użytkowników.
Adres URL przekazywania stanu/kontynuowania w działaniach związanych z e-mailami
Aby bezpiecznie przekazywać adres URL kontynuacji, domena tego adresu musi: została dodana jako autoryzowana domena w konsoli Firebase. Możesz to zrobić w sekcji Uwierzytelnianie przez dodanie tej domeny do listę Autoryzowanych domen na karcie Metoda logowania, jeśli jeszcze się tam nie znajduje.
Podczas wysyłania musisz podać instancję firebase.auth.ActionCodeSettings
wiadomość e-mail do zresetowania hasła lub e-mail weryfikacyjny. Ten interfejs przyjmuje
następujące parametry:
Parametr | Typ | Opis |
---|---|---|
url |
ciąg znaków | Określa link (adres URL stanu/kontynuacji), który ma różne znaczenie w różnych kontekstach.
|
iOS |
({bundleId: ciąg znaków}|niezdefiniowany) | Ustawia identyfikator pakietu na iOS. Spowoduje to próbę otwarcia linku w aplikacji na iOS, jeśli jest zainstalowana. Aplikacja na iOS musi być zarejestrowana w konsoli. |
android |
({packageName: string, installApp:wartość logiczna|nieokreślona, minimalna wersja: ciąg znaków|niezdefiniowana}|niezdefiniowana) | Określa nazwę pakietu na Androida. Spowoduje to próbę otwarcia linku w
aplikację na Androida, jeśli jest zainstalowana; Jeśli pole installApp jest prawidłowe,
określa, czy zainstalować aplikację na Androida, jeśli urządzenie ją obsługuje, oraz
Aplikacja nie jest jeszcze zainstalowana. Jeśli to pole jest podane bez atrybutu
packageName , pojawia się błąd z wyjaśnieniem, że
packageName należy podać w połączeniu z tym polem.
Jeśli określono minimumVersion i starsza wersja pakietu
zainstalowana jest aplikacja, użytkownik trafia do Sklepu Play, gdzie można ją uaktualnić.
Aplikacja na Androida musi być zarejestrowana w konsoli. |
handleCodeInApp |
(wartość logiczna|niezdefiniowana) | to, czy link do działania w e-mailu będzie otwierany w aplikacji mobilnej czy na stronie internetowej. . Wartość domyślna to false (fałsz). Jeśli zasada ma wartość Prawda, link do kodu działania zostanie wysłana jako uniwersalny link lub link aplikacji na Androida i zostanie otwarta przez aplikację, jeśli jest zainstalowana. W przeciwnym razie kod zostanie wysłany do widżet internetowy, a następnie „Dalej” przekierowuje do aplikacji, jeśli Zainstalowano. |
dynamicLinkDomain |
(ciąg|niezdefiniowany) | Określa domenę (lub subdomenę) linku dynamicznego, która będzie używana w przypadku bieżącego linku jeśli ma się otworzyć za pomocą Linków dynamicznych Firebase. Jako wiele dynamicznych domen linków można skonfigurować dla poszczególnych projektów. To pole udostępnia nie można bezpośrednio wybrać jednego z nich. Jeśli nie zostanie podana żadna, pierwsza domena jest stosowany domyślnie. |
Poniższy przykład pokazuje, jak wysłać e-mail weryfikacyjny link, który
najpierw otworzy się w aplikacji mobilnej jako link dynamiczny Firebase, wykorzystując niestandardowy
domena linku dynamicznego example.page.link
(Aplikacja na iOS: com.example.ios
lub aplikacja na Androida com.example.android
,
zostanie zainstalowany, jeśli nie jest jeszcze zainstalowany, a minimalna wersja to 12
.
precyzyjny link będzie zawierał ładunek adresu URL „continue”
https://www.example.com/?email=user@example.com
.
var actionCodeSettings = {
url: 'https://www.example.com/?email=' + firebase.auth().currentUser.email,
iOS: {
bundleId: 'com.example.ios'
},
android: {
packageName: 'com.example.android',
installApp: true,
minimumVersion: '12'
},
handleCodeInApp: true,
// When multiple custom dynamic link domains are defined, specify which
// one to use.
dynamicLinkDomain: "example.page.link"
};
firebase.auth().currentUser.sendEmailVerification(actionCodeSettings)
.then(function() {
// Verification email sent.
})
.catch(function(error) {
// Error occurred. Inspect error.code.
});
Konfigurowanie Linków dynamicznych Firebase
Uwierzytelnianie Firebase używa Linków dynamicznych Firebase do wysyłania który powinien być otwierany w aplikacji mobilnej. Aby korzystać z Linki dynamiczne należy skonfigurować w konsoli Firebase.
Włącz Linki dynamiczne Firebase:
- W konsoli Firebase otwórz sekcję Dynamic Links.
-
Jeśli warunki usługi Dynamic Links nie zostały jeszcze przez Ciebie zaakceptowane, a Dynamic Links nie zostało utworzone domeny, zrób to teraz.
Jeśli masz już utworzoną domenę Dynamic Links, zanotuj ją. Dynamic Links domena zwykle wygląda tak:
example.page.link
Ta wartość będzie potrzebna podczas konfigurowania aplikacji na Apple lub Androida przechwytywać link przychodzący.
Konfigurowanie aplikacji na Androida:
- Jeśli planujesz obsługę tych linków w aplikacji na Androida, Nazwę pakietu na Androida trzeba określić w konsoli Firebase ustawieniach projektu. Dodatkowo SHA-1 i SHA-256 aplikacji i dostarczyć certyfikat.
- Musisz też skonfigurować filtr intencji dla precyzyjnego linku w
AndroidManifest.xml
. - Więcej informacji: Instrukcje dotyczące Linków dynamicznych na Androidzie.
Konfigurowanie aplikacji na iOS:
- Jeśli planujesz obsługę tych linków w aplikacji na iOS, W konsoli Firebase należy określić identyfikator pakietu na iOS ustawieniach projektu. Dodatkowo identyfikator App Store i identyfikator Apple Trzeba też podać identyfikator zespołu.
- Musisz też skonfigurować domenę uniwersalnego linku FDL jako Powiązana domena w możliwościach aplikacji.
- Jeśli planujesz dystrybuować swoją aplikację na iOS w wersji 8 lub starszej, musisz ustawić identyfikator pakietu na iOS jako schemat niestandardowy dla przychodzących Adresy URL.
- Więcej informacji: Instrukcje dotyczące linków dynamicznych na iOS.
Obsługa działań dotyczących poczty e-mail w aplikacji internetowej
Możesz określić, czy link z kodem działania ma być obsługiwany w internecie
najpierw aplikacji, a następnie przekieruj do innej strony internetowej lub aplikacji mobilnej
pod warunkiem, że aplikacja mobilna będzie dostępna.
Można to zrobić, ustawiając handleCodeInApp
na false
w
firebase.auth.ActionCodeSettings
obiekt. Identyfikator pakietu na iOS
lub nazwę pakietu na Androida nie są wymagane, jej podanie pozwoli użytkownikowi
, aby przekierowywać użytkownika z powrotem do określonej aplikacji po uzupełnieniu kodu działania e-mailem.
Użyty tutaj URL strony internetowej jest skonfigurowany w szablonach działań e-mail . Domyślna jest udostępniona dla wszystkich projektów. Więcej informacji: dostosowywaniu modułów obsługi poczty e-mail, aby dowiedzieć się więcej jak dostosować moduł obsługi działań poczty e-mail.
W tym przypadku link w parametrze zapytania continueUrl
będzie miał postać
link FDL, którego ładunek to URL
określony w ActionCodeSettings
obiektu. Możesz przechwytywać i obsługiwać linki przychodzące z aplikacji
bez żadnych dodatkowych zależności, zalecamy użycie biblioteki klienta FDL do
przeanalizuj precyzyjny link.
Podczas obsługi czynności związanych z pocztą e-mail, takich jak potwierdzanie adresu e-mail, kod działania z sekcji
Parametr zapytania oobCode
musi zostać przeanalizowany z precyzyjnego linku, a następnie zastosowany
przesłać e-mailem applyActionCode
, aby zmiana zaczęła obowiązywać, czyli na adres e-mail w celu weryfikacji.
Obsługa działań poczty e-mail w aplikacji mobilnej
Możesz określić, czy link z kodem działania ma być obsługiwany w sekcji
aplikacja mobilna, o ile jest zainstalowana. Aplikacje na Androida
w android.installApp
możesz też określić, że aplikacja
należy zainstalować, jeśli urządzenie obsługuje tę funkcję i nie jest jeszcze zainstalowane.
Jeśli link został kliknięty na urządzeniu, które nie obsługuje telefonu komórkowego
aplikacji, jest otwierany na stronie internetowej.
Można to zrobić, ustawiając handleCodeInApp
na true
w
firebase.auth.ActionCodeSettings
obiekt. Adres URL aplikacji mobilnej
Trzeba też podać nazwę pakietu na Androida lub identyfikator pakietu na iOS.
Jeśli nie ma aplikacji mobilnej, używany tutaj zastępczy URL skonfigurowane w sekcji szablonów działań e-mail. Udostępniona jest domyślna wersja dla wszystkich projektów. Więcej informacji: dostosowywaniu modułów obsługi poczty e-mail, aby dowiedzieć się więcej jak dostosować moduł obsługi działań poczty e-mail.
W tym przypadku link do aplikacji mobilnej wysłany do użytkownika będzie linkiem FDL, którego
to adres URL kodu działania skonfigurowany w konsoli, zawierający zapytanie
parametry oobCode
, mode
, apiKey
i continueUrl
. Ten ostatni będzie
pierwotna wartość URL
została określona w obiekcie ActionCodeSettings
. Choć możesz
przechwytywać i obsługiwać przychodzący link z aplikacji bez dodatkowego
zależność, zalecamy użycie biblioteki klienta FDL do analizy precyzyjnego linku
do Ciebie. Kod działania może zostać zastosowany bezpośrednio z aplikacji mobilnej podobnej do
do sposobu, w jaki jest on obsługiwany z poziomu przepływu sieci opisanego w dokumencie
dostosowywania modułów obsługi poczty e-mail.
Podczas obsługi czynności związanych z pocztą e-mail, takich jak potwierdzanie adresu e-mail, kod działania z sekcji
Parametr zapytania oobCode
musi zostać przeanalizowany z precyzyjnego linku, a następnie zastosowany
przesłać e-mailem applyActionCode
, aby zmiana zaczęła obowiązywać, czyli na adres e-mail w celu weryfikacji.