Dodawanie uwierzytelniania do aplikacji Apache Cordova
Nuta
Ten produkt jest wycofany. Aby zastąpić projekty przy użyciu platformy .NET 8 lub nowszej, zobacz bibliotekę datasync zestawu narzędzi Community Toolkit.
W tym samouczku dodasz uwierzytelnianie firmy Microsoft do projektu Szybkiego startu przy użyciu identyfikatora Entra firmy Microsoft. Przed ukończeniem tego samouczka upewnij się, że utworzono projektu i włączono synchronizację w trybie offline.
Konfigurowanie zaplecza na potrzeby uwierzytelniania
Aby skonfigurować zaplecze na potrzeby uwierzytelniania, musisz:
- Utwórz rejestrację aplikacji.
- Konfigurowanie uwierzytelniania i autoryzacji usługi Azure App Service.
- Dodaj aplikację do dozwolonych zewnętrznych adresów URL przekierowania.
W tym samouczku skonfigurujemy aplikację do korzystania z uwierzytelniania firmy Microsoft. Dzierżawa firmy Microsoft Entra została skonfigurowana automatycznie w ramach subskrypcji platformy Azure. Aby skonfigurować uwierzytelnianie firmy Microsoft, możesz użyć identyfikatora Entra firmy Microsoft.
Potrzebny jest adres URL zaplecza usługi Azure Mobile Apps, która została podana podczas aprowizowania usługi.
Tworzenie rejestracji aplikacji
- Zaloguj się do witryny Azure Portal.
- Wybierz pozycję Microsoft Entra ID>Rejestracje aplikacji>Nowa rejestracja.
- Na stronie
Rejestrowanie aplikacji wprowadźw polu nazwa . - W obszarze Obsługiwane typy kontwybierz pozycję konta w dowolnym katalogu organizacyjnym (dowolny katalog Microsoft Entra — wielodostępny) i osobiste konta Microsoft (np. Skype, Xbox).
- W identyfikator URI przekierowaniawybierz pozycję Web i wpisz
<backend-url>/.auth/login/aad/callback
. Jeśli na przykład adres URL zaplecza tohttps://zumo-abcd1234.azurewebsites.net
, wprowadźhttps://zumo-abcd1234.azurewebsites.net/.auth/login/aad/callback
. - Naciśnij przycisk Zarejestruj w dolnej części formularza.
- Skopiuj identyfikator aplikacji (klienta).
- W okienku po lewej stronie wybierz pozycję Certyfikaty & wpisy tajne>Nowy klucz tajny klienta.
- Wprowadź odpowiedni opis, wybierz czas trwania ważności, a następnie wybierz pozycję Dodaj.
- Skopiuj wpis tajny na stronie certyfikatów
certyfikatów &. Wartość nie jest ponownie wyświetlana. - Wybierz pozycję Authentication.
- W obszarze Niejawne udzielanie i przepływy hybrydowewłącz tokeny identyfikatorów .
- Naciśnij Zapisz w górnej części strony.
Ważny
Wartość wpisu tajnego klienta (hasło) jest ważnym poświadczenie zabezpieczeń. Nie udostępniaj hasła nikomu ani nie rozpowszechniaj go w aplikacji klienckiej.
Konfigurowanie uwierzytelniania i autoryzacji usługi Azure App Service
W witrynie Azure Portalwybierz pozycję Wszystkie zasoby, a następnie usługę App Service.
Wybierz pozycję Ustawienia >Authentication.
Naciśnij Dodaj dostawcę tożsamości.
Wybierz microsoft jako dostawcę tożsamości.
- W obszarze Typ rejestracji aplikacjiwybierz pozycję Podaj szczegóły istniejącej rejestracji aplikacji.
- Wklej wartości skopiowane wcześniej do pól Identyfikator aplikacji (klienta) aplikacji
i klucza tajnego klienta klienta. - W przypadkuadresu URL wystawcy
wprowadź . Ten adres URL to "magiczny adres URL dzierżawy" dla logowań firmy Microsoft. - W przypadku Ogranicz dostępwybierz pozycję Wymagaj uwierzytelniania.
- W przypadku żądanie nieuwierzytelnionewybierz pozycję HTTP 401 Brak autoryzacji.
Naciśnij dodaj.
Po powrocie ekranu uwierzytelniania naciśnij Edytuj obok pozycji Ustawienia uwierzytelniania.
W polu Dozwolone zewnętrzne adresy URL przekierowania wprowadź
zumoquickstart://easyauth.callback
.Naciśnij zapisz.
Krok 10 wymaga uwierzytelnienia wszystkich użytkowników przed uzyskaniem dostępu do zaplecza. Możesz udostępnić szczegółowe kontrolki, dodając kod do zaplecza.
CZY WIESZ? Możesz również zezwolić użytkownikom z kontami organizacyjnymi w usłudze Microsoft Entra ID, Facebook, Google, Twitter lub dowolnym dostawcy zgodnym z protokołem OpenID Connect. Postępuj zgodnie z instrukcjami w dokumentacji usługi Azure App Service .
Testowanie żądania uwierzytelnienia
- Uruchamianie aplikacji przy użyciu
cordova run android
- Sprawdź, czy po uruchomieniu aplikacji jest zgłaszany nieobsługiwany wyjątek z kodem stanu 401 (Brak autoryzacji).
Dodawanie uwierzytelniania do aplikacji
Aby dodać uwierzytelnianie za pośrednictwem wbudowanego dostawcy, musisz:
- Dodaj dostawcę uwierzytelniania do listy znanych dobrych źródeł.
- Przed uzyskaniem dostępu do danych wywołaj dostawcę uwierzytelniania.
Aktualizowanie zasad zabezpieczeń zawartości
Każda aplikacja Apache Cordova deklaruje swoje znane dobre źródła za pośrednictwem nagłówka Content-Security-Policy
. Każdy obsługiwany dostawca ma hosta OAuth, który należy dodać:
Dostawca | Nazwa dostawcy zestawu SDK | OAuth Host |
---|---|---|
Microsoft Entra ID | Microsoft Entra ID | https://login.microsoftonline.com |
https://www.facebook.com |
||
https://accounts.google.com |
||
Świergot | świergot | https://api.twitter.com |
Edytuj www/index.html
; dodaj hosta OAuth dla identyfikatora Entra firmy Microsoft w następujący sposób:
<meta http-equiv="Content-Security-Policy" content="
default-src 'self'
data: gap: https://login.microsoftonline.com https://ZUMOAPPNAME.azurewebsites.net;
style-src 'self'; media-src *;">
Zawartość jest wieloma wierszami umożliwiającymi czytelność. Umieść cały kod w tym samym wierszu.
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://login.microsoftonline.com https://ZUMOAPPNAME.azurewebsites.net; style-src 'self'; media-src *;">
ZUMOAPPNAME
został już zastąpiony nazwą aplikacji.
Wywoływanie dostawcy uwierzytelniania
Edytuj www/js/index.js
. Zastąp metodę setup()
następującym kodem:
function setup() {
client.login('aad').then(function () {
// ORIGINAL CONTENTS OF FUNCTION
todoTable = client.getSyncTable('todoitem');
refreshDisplay();
addItemEl.addEventListener('submit', addItemHandler);
refreshButtonEl.addEventListener('click', refreshDisplay);
// END OF ORIGINAL CONTENTS OF FUNCTION
});
}
Testowanie aplikacji
Uruchom następujące polecenie:
cordova run android
Po zakończeniu początkowego uruchamiania zostanie wyświetlony monit o zalogowanie się przy użyciu poświadczeń firmy Microsoft. Po zakończeniu możesz dodawać i usuwać elementy z listy.
Napiwek
Jeśli emulator nie zostanie uruchomiony automatycznie, otwórz program Android Studio, a następnie wybierz pozycję Configure>AVD Manager. Pozwoli to ręcznie uruchomić urządzenie. Jeśli uruchomisz adb devices -l
, powinna zostać wyświetlona wybrana emulowana maszyna.
Usuwanie zasobów
Teraz ukończono samouczek Szybki start, możesz usunąć zasoby za pomocą
az group delete -n zumo-quickstart
. Możesz również usunąć globalną rejestrację aplikacji używaną do uwierzytelniania za pośrednictwem portalu.
Następne kroki
Zapoznaj się z sekcjami INSTRUKCJE:
- Serwer (Node.js)
- Server (ASP.NET Framework)
- klienta apache Cordova
Możesz również wykonać przewodnik Szybki start dla innej platformy przy użyciu tej samej usługi:
- windows (UWP)
- windows (WPF)
- Xamarin.Android
- zestawu narzędzi Xamarin.Forms
- Xamarin.iOS