Megosztás a következőn keresztül:


Hitelesítés hozzáadása az Apache Cordova-alkalmazáshoz

Összefoglalás

Ebben az oktatóanyagban hitelesítést fog hozzáadni az Apache Cordova todolist gyorsindítási projektjéhez egy támogatott identitásszolgáltató használatával. Ez az oktatóanyag a Első lépések útmutató Mobile Apps, amelyet először be kell fejeződnie.

Regisztrálja az alkalmazást hitelesítésre, és konfigurálja a App Service

Először regisztrálnia kell az alkalmazást egy identitásszolgáltató webhelyén, majd be kell állítania a szolgáltató által létrehozott hitelesítő adatokat a Mobile Apps háttéralkalmazásban.

  1. Konfigurálja az előnyben részesített identitásszolgáltatót a szolgáltatóra vonatkozó utasítások szerint:

  2. Ismételje meg az előző lépéseket minden olyan szolgáltatónál, amit támogatni szeretne az alkalmazásban.

Tekintse meg hasonló lépéseket ismertető videót

A hitelesített felhasználókra vonatkozó engedélyek korlátozása

Alapértelmezés szerint a háttér Mobile Apps API-k névtelenül hívhatóak meg. Ezután korlátoznia kell a hozzáférést csak a hitelesített ügyfelekre.

  • Node.js háttér (a Azure Portal) segítségével:

    A saját Mobile Apps kattintson az Easy Tables (Egyszerű táblák) elemre , és válassza ki a táblát. Kattintson az Engedélyek módosítása elemre, válassza a Csak hitelesített hozzáférés minden engedélyhez lehetőséget, majd kattintson a Mentés gombra.

  • .NET-háttér (C#):

    A kiszolgálóprojektben lépjen a ControllersTodoItemController.cs> fájlra. Adja hozzá az [Authorize] attribútumot a TodoItemController osztályhoz az alábbiak szerint. Ha csak bizonyos metódusok elérésére korlátozza a hozzáférést, ezt az attribútumot a osztály helyett csak azokra a metódusra is alkalmazhatja. Tegye közzé újra a kiszolgálóprojektet.

      [Authorize]
      public class TodoItemController : TableController<TodoItem>
    
  • Node.js háttér (egy kódon Node.js keresztül):

    Ha hitelesítést szeretne megkövetelni a táblaeléréshez, adja hozzá a következő sort a Node.js-kiszolgálói szkripthez:

      table.access = 'authenticated';
    

    További részletekért lásd : How to: Require authentication for access to tables (Hogyan lehet: Hitelesítés megkövetelve a táblákhoz való hozzáféréshez). A gyorsindítási kódprojekt webhelyről való letöltésével kapcsolatos további információkért lásd : Útmutató: A Node.js háttér-rövid útmutató kódprojekt letöltése a Git használatával.

Most ellenőrizheti, hogy a háttérhez való névtelen hozzáférés le van-e tiltva. A Visual Studio:

  • Nyissa meg az oktatóanyag befejezésekor létrehozott projektet, Első lépések a Mobile Apps.
  • Futtassa az alkalmazást a Google Android Emulator.
  • Ellenőrizze, hogy az alkalmazás elindulása után váratlan csatlakozási hiba jelenik-e meg.

Ezután frissítse az alkalmazást, hogy hitelesítse a felhasználókat, mielőtt erőforrásokat kér a Mobile App háttéralkalmazásból.

Hitelesítés hozzáadása az alkalmazáshoz

  1. Nyissa meg a projektet a Visual Studio, majd nyissa meg www/index.html a fájlt szerkesztésre.

  2. Keresse meg Content-Security-Policy a metacímkét a head szakaszban. Adja hozzá az OAuth-gazdagépet az engedélyezett források listájához.

    Szolgáltató SDK-szolgáltató neve OAuth-gazdagép
    Azure Active Directory aad https://login.microsoftonline.com
    Facebook Facebook https://www.facebook.com
    Google Google https://accounts.google.com
    Microsoft microsoftaccount https://login.live.com
    Twitter Twitter https://api.twitter.com

    A Content-Security-Policy (a Azure Active Directory) például a következő:

     <meta http-equiv="Content-Security-Policy" content="default-src 'self'
         data: gap: https://login.microsoftonline.com https://yourapp.azurewebsites.net; style-src 'self'">
    

    Cserélje https://login.microsoftonline.com le a helyére az előző táblázatban található OAuth-gazdagépet. A content-security-policy metacímkével kapcsolatos további információkért tekintse meg a Content-Security-Policy dokumentációját.

    Egyes hitelesítésszolgáltatók nem igénylik a Content-Security-Policy módosításait, ha a megfelelő mobileszközökön használják. Android-eszközön például nincs szükség a Content-Security-Policy módosításaira, ha Google-hitelesítést használ.

  3. Nyissa meg www/js/index.js a fájlt szerkesztésre, keresse meg onDeviceReady() a metódust, és az ügyfél-létrehozási kód alatt adja hozzá a következő kódot:

     // 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);
    

    Ez a kód lecseréli a meglévő kódot, amely létrehozza a táblahivatkozást, és frissíti a felhasználói felületet.

    A login() metódus megkezdi a hitelesítést a szolgáltatóval. A login() metódus egy aszinkron függvény, amely egy JavaScript-ígéretet ad vissza. Az inicializálás további része az ígéretválaszba kerül, így a rendszer nem hajtja végre, amíg a login() metódus be nem fejeződik.

  4. Az előbb hozzáadott kódban cserélje SDK_Provider_Name le a helyére a bejelentkezési szolgáltató nevét. Például a következőt Azure Active Directory: client.login('aad').

  5. Futtassa a projektet. Amikor a projekt inicializálása befejeződött, az alkalmazás megjeleníti a kiválasztott hitelesítésszolgáltató OAuth bejelentkezési oldalát.

Következő lépések

Útmutató az SDK-k használatához.