Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Isten hozott! Valószínűleg nem ez az a lap, amire számított. Amíg dolgozunk a javításon, ez a hivatkozás a megfelelő cikkre viszi:
Elnézést kérünk a kellemetlenségért, és köszönjük türelmét, amíg dolgozunk a probléma megoldásán.
Ebben a rövid útmutatóban letölthet és futtathat egy kódmintát, amely bemutatja, hogy egy natív iOS- vagy macOS-alkalmazás hogyan tud bejelentkezni a felhasználókba, és hogyan kérhet le egy hozzáférési jogkivonatot a Microsoft Graph API meghívásához.
A gyorsútmutató iOS- és macOS-alkalmazásokra is vonatkozik. Néhány lépésre csak iOS-alkalmazások esetén van szükség, és ennek megfelelően jelennek meg.
Előfeltételek
- Egy Azure-fiók, aktív előfizetéssel. Fiók létrehozása ingyenes.
- XCode 10+
- iOS 10+
- macOS 10.12+
A minta működése
1. lépés: Az alkalmazás konfigurálása
A rövid útmutató kódmintájának működéséhez adjon hozzá egy átirányítási URI-t , amely kompatibilis az Auth-közvetítővel.
Az alkalmazás konfigurálva van ezekkel az attribútumokkal
2. lépés: A mintaprojekt letöltése
Az iOS- kódmintájának letöltése
A macOS- kódmintájának letöltése
3. lépés: Függőségek telepítése
- Csomagolja ki a tömörített fájlt.
- Egy terminálablakban keresse meg a letöltött kódmintát tartalmazó mappát, és futtassa a
pod installa legújabb MSAL-kódtár telepítéséhez.
4. lépés: Az alkalmazás konfigurálva van, és készen áll a futtatásra
Konfiguráltuk a projektet az alkalmazás tulajdonságainak értékeivel, és készen áll a futtatásra.
Megjegyzés:
Enter_the_Supported_Account_Info_Here
Ha Microsoft Entra nemzeti felhőkhöz készít alkalmazást, cserélje azokat a sorokat, amelyek a "let kGraphEndpoint" és "let kAuthority" kezdetű kifejezéseket tartalmazzák, a megfelelő végpontokkal. Globális hozzáféréshez használja az alapértelmezett értékeket:
let kGraphEndpoint = "https://graph.microsoft.com/" let kAuthority = "https://login.microsoftonline.com/common"A többi végpontot itt dokumentáljuk. A Microsoft Entra Germany gyorsindításának futtatásához például használja a következőket:
let kGraphEndpoint = "https://graph.microsoft.de/" let kAuthority = "https://login.microsoftonline.de/common"Nyissa meg a projekt beállításait. Az Identitás szakaszban adja meg a portálon megadott csomagazonosítót.
Kattintson a jobb gombbal Info.plist, és válassza a Megnyitás mint>Forráskódlehetőséget.
A dict gyökércsomópont alatt cserélje le a
Enter_the_bundle_Id_Hereértéket a portálon használt csomagazonosítóra. Figyelje meg amsauth.előtagot a karakterláncban.<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>msauth.Enter_the_Bundle_Id_Here</string> </array> </dict> </array>Hozza létre és futtassa az alkalmazást!
További információ
A gyors útmutatóról további információkért olvassa el ezeket a szakaszokat.
MSAL letöltése
Az MSAL (MSAL.framework) a felhasználók bejelentkezéséhez és a Microsoft identitásplatform által védett API-k eléréséhez használt jogkivonatok lekéréséhez használt kódtár. Az MSAL az alábbi eljárással vehető fel az alkalmazásba:
$ vi Podfile
Adja hozzá a következőket ehhez a podfile-hoz (a projekt céljával):
use_frameworks!
target 'MSALiOS' do
pod 'MSAL'
end
Futtassa a CocoaPods telepítési parancsát:
pod install
MSAL inicializálása
Az MSAL-ra vonatkozó hivatkozást a következő kód hozzáadásával adhatja hozzá:
import MSAL
Ezután inicializálja az MSAL-t az alábbi kóddal:
let authority = try MSALAADAuthority(url: URL(string: kAuthority)!)
let msalConfiguration = MSALPublicClientApplicationConfig(clientId: kClientID, redirectUri: nil, authority: authority)
self.applicationContext = try MSALPublicClientApplication(configuration: msalConfiguration)
Helyszín: Leírás clientIdA portal.azure.com regisztrált alkalmazás alkalmazásazonosítója authorityA Microsoft identitásplatformja. A legtöbb esetben ez a https://login.microsoftonline.com/common>redirectUriAz alkalmazás átirányítási URI-ja. Az alapértelmezett érték vagy az egyéni átirányítási URI használatához "nulla" értéket adhat meg.
Csak iOS esetén további alkalmazáskövetelmények
A(z) AppDelegate-ban az alkalmazásnak a következőket is tartalmaznia kell. Ez lehetővé teszi, hogy az MSAL SDK kezelje a hitelesítés során az Auth broker alkalmazás token válaszát.
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
return MSALPublicClientApplication.handleMSALResponse(url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String)
}
Megjegyzés:
Ha az iOS 13+-on a UISceneDelegatehelyett a UIApplicationDelegate-t fogadod el, helyezd el ezt a kódot a scene:openURLContexts: visszahívásban (lásd az Apple dokumentációrészletét).
Ha kompatibilis akar maradni a régebbi iOS-ekkel, és ezért támogatja mind az UISceneDelegate, mind az UIApplicationDelegate használatát, az MSAL visszahívást mindkét helyre el kell helyezni.
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
guard let urlContext = URLContexts.first else {
return
}
let url = urlContext.url
let sourceApp = urlContext.options.sourceApplication
MSALPublicClientApplication.handleMSALResponse(url, sourceApplication: sourceApp)
}
Végül az alkalmazásnak rendelkeznie kell egy LSApplicationQueriesSchemes bejegyzéssel a Info.plist a CFBundleURLTypesmellett. A minta tartalmazza ezt a részt.
<key>LSApplicationQueriesSchemes</key>
<array>
<string>msauthv2</string>
<string>msauthv3</string>
</array>
Bejelentkezett felhasználók & jogkivonatokat kérnek
Az MSAL két módszert használ a jogkivonatok beszerzésére: acquireToken és acquireTokenSilent.
acquireToken: Token interaktív lekérése
Bizonyos helyzetekben a felhasználóknak a Microsoft identitásplatformjával kell kommunikálniuk. Ezekben az esetekben előfordulhat, hogy a végfelhasználónak ki kell választania a fiókját, meg kell adnia a hitelesítő adatait, vagy hozzá kell adnia az alkalmazás engedélyeit. Például
- Az első alkalommal, amikor a felhasználók bejelentkeznek az alkalmazásba
- Ha egy felhasználó visszaállítja a jelszavát, meg kell adnia a hitelesítő adatait
- Amikor az alkalmazás első alkalommal kér hozzáférést egy erőforráshoz
- Ha MFA- vagy egyéb feltételes hozzáférési szabályzatra van szükség
let parameters = MSALInteractiveTokenParameters(scopes: kScopes, webviewParameters: self.webViewParameters!)
self.applicationContext!.acquireToken(with: parameters) { (result, error) in /* Add your handling logic */}
Helyszín: Leírás scopesA kért hatóköröket tartalmazza (azaz [ "user.read" ]a Microsoft Graphhoz vagy[ "<Application ID URL>/scope" ]egyéni webes API-khoz (api://<Application ID>/access_as_user))
acquireTokenSilent: Hozzáférési jogkivonat csendes lekérése
Az alkalmazások nem követelhetik meg a felhasználóktól, hogy minden alkalommal jelentkezzenek be, amikor tokent kérnek. Ha a felhasználó már bejelentkezett, ez a módszer lehetővé teszi, hogy az alkalmazások észrevétlenül kérjenek tokeneket.
self.applicationContext!.getCurrentAccount(with: nil) { (currentAccount, previousAccount, error) in
guard let account = currentAccount else {
return
}
let silentParams = MSALSilentTokenParameters(scopes: self.kScopes, account: account)
self.applicationContext!.acquireTokenSilent(with: silentParams) { (result, error) in /* Add your handling logic */}
}
Helyszín: Leírás scopesA kért hatóköröket tartalmazza (azaz [ "user.read" ]a Microsoft Graphhoz vagy[ "<Application ID URL>/scope" ]egyéni webes API-khoz (api://<Application ID>/access_as_user)accountAz a fiók, amelyhez tokent kérnek. Ez a rövid útmutató egyetlen felhasználói fiók alkalmazásáról szól. Ha többfiókos alkalmazást szeretne létrehozni, meg kell határoznia a logikát, hogy azonosítsa a jogkivonat-kérelmekhez használandó fiókot, a accountsFromDeviceForParameters:completionBlock:használatával és a megfelelőaccountIdentifierátadásával.
Súgó és támogatás
Ha segítségre van szüksége, szeretne jelentést készíteni egy problémáról, vagy szeretne többet megtudni a támogatási lehetőségekről, olvassa el a súgót és a fejlesztők támogatását.
Következő lépések
Lépjen tovább a lépésenkénti oktatóanyagra, amelyben létrehoz egy iOS- vagy macOS-alkalmazást, amely hozzáférési jogkivonatot kap a Microsoft identitásplatformjáról, és a Microsoft Graph API meghívására használja.