Přidání ověřování do aplikace Apache Cordova
Souhrn
V tomto kurzu přidáte ověřování do projektu ToDoList pro rychlé zprovoznění na Apache Cordova s použitím podporovaného zprostředkovatele identity. tento kurz je založený na Začínáme v Mobile Apps kurzu, který musíte nejdřív provést.
Zaregistrovat aplikaci pro ověřování a nakonfigurovat App Service
Nejdřív je potřeba zaregistrovat aplikaci na webu zprostředkovatele identity a potom nastavit přihlašovací údaje vygenerované zprostředkovatelem v Mobile Apps back-endu.
Podle pokynů pro konkrétního poskytovatele nakonfigurujte preferovaného zprostředkovatele identity:
Opakujte předchozí kroky pro každého poskytovatele, kterého chcete ve své aplikaci podporovat.
Podívejte se na video zobrazující podobný postup.
Omezení oprávnění pro ověřené uživatele
Ve výchozím nastavení lze rozhraní API v Mobile Appsm back-endu vyvolat anonymně. Dál je potřeba omezit přístup jenom na ověřené klienty.
Node.js back-end (přes Azure Portal) :
V nastavení Mobile Apps klikněte na možnost snadné tabulky a vyberte tabulku. Klikněte na změnit oprávnění, vyberte ověřený přístup jenom pro všechna oprávnění a pak klikněte na Uložit.
Back-end .NET (C#):
V projektu serveru přejděte na Controllers>TodoItemController. cs.
[Authorize]
Přidejte atribut do třídy TodoItemController následujícím způsobem. Chcete-li omezit přístup pouze na konkrétní metody, můžete také použít tento atribut pouze pro tyto metody namísto třídy. Publikujte projekt serveru znovu.[Authorize] public class TodoItemController : TableController<TodoItem>
Node.js back-end (přes Node.js kód) :
Pokud chcete pro přístup k tabulce vyžadovat ověření, přidejte do skriptu Node.js serveru následující řádek:
table.access = 'authenticated';
Další podrobnosti najdete v tématu How to: vyžadovat ověřování pro přístup k tabulkám. Informace o tom, jak stáhnout projekt kódu pro rychlé zprovoznění z webu, najdete v tématu How to: download Node.js back-endu pro rychlé nasazení kódu pomocí Gitu.
Nyní můžete ověřit, zda byl zakázán anonymní přístup k back-endu. V Visual Studio:
- otevřete projekt, který jste vytvořili po dokončení kurzu Začínáme s Mobile Apps.
- Spusťte aplikaci na webu Google Android Emulator.
- Ověřte, že po spuštění aplikace se zobrazí neočekávaná chyba připojení.
Dále aktualizujte aplikaci tak, aby ověřovala uživatele před vyžádáním prostředků z back-endu mobilní aplikace.
Přidání ověřování do aplikace
otevřete projekt v Visual Studioa pak soubor otevřete
www/index.html
pro úpravy.Content-Security-Policy
V části Head Najděte metaznačku. Přidejte hostitele OAuth do seznamu povolených zdrojů.Poskytovatel Název poskytovatele sady SDK Hostitel OAuth Azure Active Directory AAD https://login.microsoftonline.com Facebook přes https://www.facebook.com Google internetového https://accounts.google.com Microsoft microsoftaccount https://login.live.com Twitter službě https://api.twitter.com příkladem obsahu – zásada zabezpečení (implementovaná pro Azure Active Directory) je následující:
<meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://login.microsoftonline.com https://yourapp.azurewebsites.net; style-src 'self'">
Nahraďte
https://login.microsoftonline.com
hostitelem OAuth z předchozí tabulky. Další informace o značce metadata Content-Security-Policy Policy najdete v dokumentaci k obsahu – zásady zabezpečení.Někteří poskytovatelé ověřování nevyžadují změny zásad zabezpečení obsahu při použití na příslušných mobilních zařízeních. Například při použití ověřování Google na zařízení s Androidem se nevyžadují žádné změny v zásadách zabezpečení obsahu.
www/js/index.js
Otevřete soubor pro úpravy, vyhledejteonDeviceReady()
metodu a v části kód pro vytvoření klienta přidejte následující kód:// Login to the service client.login('SDK_Provider_Name') .then(function () { // BEGINNING OF ORIGINAL CODE // Create a table reference todoItemTable = client.getTable('todoitem'); // Refresh the todoItems refreshDisplay(); // Wire up the UI Event Handler for the Add Item $('#add-item').submit(addItemHandler); $('#refresh').on('click', refreshDisplay); // END OF ORIGINAL CODE }, handleError);
Tento kód nahradí existující kód, který vytvoří odkaz na tabulku a aktualizuje uživatelské rozhraní.
Metoda Login () spustí ověřování u poskytovatele. Metoda Login () je asynchronní funkce, která vrací příslib JavaScriptu. Zbytek inicializace je umístěn v rámci reakce na příslib, takže nebude proveden až do dokončení metody Login ().
V kódu, který jste právě přidali, nahraďte
SDK_Provider_Name
názvem vašeho poskytovatele přihlášení. například pro Azure Active Directory použijteclient.login('aad')
.Spusťte projekt. Po dokončení inicializace projektu vaše aplikace zobrazí přihlašovací stránku OAuth pro vybraného zprostředkovatele ověřování.
Další kroky
- Přečtěte si další informace o ověřování pomocí Azure App Service.
- Pokračujte v kurzu přidáváním nabízených oznámení do aplikace Apache Cordova.
Zjistěte, jak používat sady SDK.