Sdílet prostřednictvím


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.

  1. Podle pokynů pro konkrétního poskytovatele nakonfigurujte preferovaného zprostředkovatele identity:

  2. 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

  1. otevřete projekt v Visual Studioa pak soubor otevřete www/index.html pro úpravy.

  2. Content-Security-PolicyV čá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.

  3. www/js/index.jsOtevřete soubor pro úpravy, vyhledejte onDeviceReady() 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 ().

  4. 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žijte client.login('aad') .

  5. 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

Zjistěte, jak používat sady SDK.