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.
Konfigurálja az előnyben részesített identitásszolgáltatót a szolgáltatóra vonatkozó utasítások szerint:
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
Nyissa meg a projektet a Visual Studio, majd nyissa meg
www/index.html
a fájlt szerkesztésre.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.
Nyissa meg
www/js/index.js
a fájlt szerkesztésre, keresse megonDeviceReady()
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.
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')
.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
- További információ a hitelesítésről a Azure App Service.
- Folytassa az oktatóanyagot úgy, hogy leküldéses értesítéseket ad hozzá az Apache Cordova-alkalmazáshoz.
Útmutató az SDK-k használatához.