Verificatie toevoegen aan uw Xamarin Forms-appAdd authentication to your Xamarin Forms app

Notitie

Visual Studio App Center investeert in nieuwe en geïntegreerde services centraal staat in de ontwikkeling van mobiele Apps.Visual Studio App Center is investing in new and integrated services central to mobile app development. Ontwikkelaars kunnen gebruikmaken van bouwen, Test en verdelen services voor het instellen van de pijplijn voor continue integratie en levering.Developers can use Build, Test and Distribute services to set up Continuous Integration and Delivery pipeline. Zodra de app is geïmplementeerd, ontwikkelaars controleren de status en het gebruik van het gebruik van de app de Analytics en Diagnostics -services en Communiceer met gebruikers met behulp van de Push de service.Once the app is deployed, developers can monitor the status and usage of their app using the Analytics and Diagnostics services, and engage with users using the Push service. Ontwikkelaars kunnen ook gebruikmaken van Auth om hun gebruikers te verifiëren en gegevens service behouden en synchroniseren van app-gegevens in de cloud.Developers can also leverage Auth to authenticate their users and Data service to persist and sync app data in the cloud. Bekijk App Center vandaag nog.Check out App Center today.

OverzichtOverview

Dit onderwerp ziet u hoe u verifieert gebruikers van een App Service Mobile App van uw clienttoepassing.This topic shows you how to authenticate users of an App Service Mobile App from your client application. In deze zelfstudie, kunt u verificatie toevoegen aan de Xamarin Forms Quick Start-project met behulp van een id-provider die wordt ondersteund door App Service.In this tutorial, you add authentication to the Xamarin Forms quickstart project using an identity provider that is supported by App Service. Nadat wordt is geverifieerd en geautoriseerd door uw mobiele App, de waarde van de gebruiker-ID wordt weergegeven en kunt u zich voor toegang tot gegevens in een tabel met beperkte toegang.After being successfully authenticated and authorized by your Mobile App, the user ID value is displayed, and you will be able to access restricted table data.

VereistenPrerequisites

Voor het beste resultaat met deze zelfstudie, het beste voert u de een Xamarin Forms-app maken zelfstudie.For the best result with this tutorial, we recommend that you first complete the Create a Xamarin Forms app tutorial. Nadat u deze zelfstudie hebt voltooid, hebt u een Xamarin Forms-project dat is een TodoList-app voor meerdere platforms.After you complete this tutorial, you will have a Xamarin Forms project that is a multi-platform TodoList app.

Als u het gedownloade quick start-serverproject niet gebruikt, moet u het pakket voor verificatie-extensie toevoegen aan uw project.If you do not use the downloaded quick start server project, you must add the authentication extension package to your project. Zie voor meer informatie over het server-extensiepakketten werken met de .NET back-endserver SDK voor Azure Mobile Apps.For more information about server extension packages, see Work with the .NET backend server SDK for Azure Mobile Apps.

Uw app registreren voor verificatie en App-Services configurerenRegister your app for authentication and configure App Services

Eerst moet u uw app op de site een id-provider te registreren en u wordt vervolgens de provider gegenereerde referenties instellen in de back-end voor mobiele Apps.First, you need to register your app at an identity provider's site, and then you will set the provider-generated credentials in the Mobile Apps back end.

  1. Uw voorkeur id-provider configureren door de provider-specifieke instructies te volgen:Configure your preferred identity provider by following the provider-specific instructions:

  2. Herhaal de vorige stappen voor elke provider die u wilt ondersteunen in uw app.Repeat the previous steps for each provider you want to support in your app.

Uw app toevoegen aan de toegestane externe Omleidings-URL 'sAdd your app to the Allowed External Redirect URLs

Veilige verificatie is vereist dat u een nieuwe URL-schema voor uw app definiëren.Secure authentication requires that you define a new URL scheme for your app. Hiermee kunt het verificatiesysteem terug te keren naar uw app nadat het verificatieproces voltooid is.This allows the authentication system to redirect back to your app once the authentication process is complete. In deze zelfstudie gebruiken we het URL-schema appname in.In this tutorial, we use the URL scheme appname throughout. U kunt echter een URL-schema dat u kiest.However, you can use any URL scheme you choose. Deze moet uniek zijn voor uw mobiele App.It should be unique to your mobile application. De omleiding op de server inschakelen:To enable the redirection on the server side:

  1. In de Azure-portal, selecteert u uw App Service.In the Azure portal, select your App Service.

  2. Klik op de verificatie / autorisatie menu-optie.Click the Authentication / Authorization menu option.

  3. In de toegestane externe Omleidings-URL's, voer url_scheme_of_your_app://easyauth.callback.In the Allowed External Redirect URLs, enter url_scheme_of_your_app://easyauth.callback. De url_scheme_of_your_app in deze reeks wordt het URL-schema voor uw mobiele toepassing.The url_scheme_of_your_app in this string is the URL Scheme for your mobile application. Het moet normale URL-specificatie voor een protocol (Gebruik letters en cijfers alleen en beginnen met een letter) volgen.It should follow normal URL specification for a protocol (use letters and numbers only, and start with a letter). U moet een notitie van de tekenreeks die u kiest, aangezien u nodig hebt om aan te passen van de code van uw mobiele toepassing met de URL-schema op verschillende plaatsen.You should make a note of the string that you choose as you will need to adjust your mobile application code with the URL Scheme in several places.

  4. Klik op OK.Click OK.

  5. Klik op Opslaan.Click Save.

Machtigingen beperken voor geverifieerde gebruikersRestrict permissions to authenticated users

Standaard worden-API's in een back-end van Mobile Apps anoniem aangeroepen.By default, APIs in a Mobile Apps back end can be invoked anonymously. Vervolgens moet u de toegang beperken tot alleen geverifieerde clients.Next, you need to restrict access to only authenticated clients.

  • Node.js terug beëindigen (via de Azure portal) :Node.js back end (via the Azure portal) :

    Klik in de instellingen voor mobiele Apps op eenvoudige tabellen en selecteer de tabel.In your Mobile Apps settings, click Easy Tables and select your table. Klik op machtigingen wijzigen, selecteer geverifieerde toegang alleen voor alle machtigingen, en klik vervolgens op opslaan.Click Change permissions, select Authenticated access only for all permissions, and then click Save.

  • .NET-back-end (C#) :.NET back end (C#):

    In het serverproject, gaat u naar Controllers > TodoItemController.cs.In the server project, navigate to Controllers > TodoItemController.cs. Toevoegen de [Authorize] kenmerk aan de TodoItemController klasse, als volgt.Add the [Authorize] attribute to the TodoItemController class, as follows. Om toegang te beperken tot specifieke methoden, kunt u dit kenmerk ook van toepassing alleen op deze methoden in plaats van de klasse.To restrict access only to specific methods, you can also apply this attribute just to those methods instead of the class. Het serverproject publiceren.Republish the server project.

      [Authorize]
      public class TodoItemController : TableController<TodoItem>
    
  • Node.js-back-end (via Node.js-code) :Node.js backend (via Node.js code) :

    Als u wilt verificatie vereisen voor toegang tot tabellen, voeg de volgende regel aan het Node.js-server-script:To require authentication for table access, add the following line to the Node.js server script:

      table.access = 'authenticated';
    

    Zie voor meer informatie, het: Verificatie vereisen voor toegang tot tabellen.For more details, see How to: Require authentication for access to tables. Zie voor informatie over het downloaden van het snelstartproject dat code van uw site, het: De Node.js-back-end snelstartgids code-project hebt gedownload met behulp van Git.To learn how to download the quickstart code project from your site, see How to: Download the Node.js backend quickstart code project using Git.

Verificatie toevoegen aan de draagbare klassebibliotheekAdd authentication to the portable class library

Mobile Apps maken gebruik van de LoginAsync extension method on the MobileServiceClient to sign in a user with App Service authentication. This sample uses a server-managed authentication flow that displays the provider's sign-in interface in the app. For more information, see Server-managed authentication.Mobile Apps uses the LoginAsync extension method on the MobileServiceClient to sign in a user with App Service authentication. This sample uses a server-managed authentication flow that displays the provider's sign-in interface in the app. For more information, see Server-managed authentication. Voor een betere ervaring voor eindgebruikers in uw app in productie, moet u rekening houden in plaats daarvan Client beheerde verificatie.To provide a better user experience in your production app, you should consider instead using Client-managed authentication.

Als u wilt verifiëren met een project Xamarin Forms, definieert een IAuthenticate interface in de draagbare klassenbibliotheek vormt voor de app.To authenticate with a Xamarin Forms project, define an IAuthenticate interface in the Portable Class Library for the app. Voeg een aanmelden knop aan de gebruikersinterface is gedefinieerd in de draagbare klassenbibliotheek, die u op te starten verificatie.Then add a Sign-in button to the user interface defined in the Portable Class Library, which you click to start authentication. Gegevens worden geladen vanuit de mobiele back-end na een geslaagde authenticatie.Data is loaded from the mobile app backend after successful authentication.

Implementeer de IAuthenticate interface voor elk platform wordt ondersteund door uw app.Implement the IAuthenticate interface for each platform supported by your app.

  1. Open in Visual Studio of Xamarin Studio App.cs uit het project met draagbare in de naam, die Portable Class Library-project, voegt u de volgende using instructie:In Visual Studio or Xamarin Studio, open App.cs from the project with Portable in the name, which is Portable Class Library project, then add the following using statement:

     using System.Threading.Tasks;
    
  2. In App.cs, voeg de volgende IAuthenticate interface definition direct voor de App klassedefinitie.In App.cs, add the following IAuthenticate interface definition immediately before the App class definition.

     public interface IAuthenticate
     {
         Task<bool> Authenticate();
     }
    
  3. Voor het initialiseren van de interface met een platform-specifieke implementatie, de volgende statische leden toevoegen aan de App klasse.To initialize the interface with a platform-specific implementation, add the following static members to the App class.

     public static IAuthenticate Authenticator { get; private set; }
    
     public static void Init(IAuthenticate authenticator)
     {
         Authenticator = authenticator;
     }
    
  4. TodoList.xaml openen vanuit het project draagbare klassenbibliotheek, voeg de volgende knop -element in de buttonsPanel lay-out-element, na de bestaande knop:Open TodoList.xaml from the Portable Class Library project, add the following Button element in the buttonsPanel layout element, after the existing button:

       <Button x:Name="loginButton" Text="Sign-in" MinimumHeightRequest="30"
         Clicked="loginButton_Clicked"/>
    

    Deze knop wordt verificatie server beheerd met de back-end van uw mobiele app geactiveerd.This button triggers server-managed authentication with your mobile app backend.

  5. TodoList.xaml.cs openen vanuit het project draagbare klassenbibliotheek, en vervolgens het volgende veld toevoegen aan de TodoList klasse:Open TodoList.xaml.cs from the Portable Class Library project, then add the following field to the TodoList class:

     // Track whether the user has authenticated.
     bool authenticated = false;
    
  6. Vervang de OnAppearing methode met de volgende code:Replace the OnAppearing method with the following code:

     protected override async void OnAppearing()
     {
         base.OnAppearing();
    
         // Refresh items only when authenticated.
         if (authenticated == true)
         {
             // Set syncItems to true in order to synchronize the data
             // on startup when running in offline mode.
             await RefreshItems(true, syncItems: false);
    
             // Hide the Sign-in button.
             this.loginButton.IsVisible = false;
         }
     }
    

    Deze code zorgt ervoor dat gegevens alleen worden vernieuwd vanuit de service nadat u hebt geverifieerd.This code makes sure that data is only refreshed from the service after you have been authenticated.

  7. Voeg de volgende-handler voor de op wordt geklikt gebeurtenis om de TodoList klasse:Add the following handler for the Clicked event to the TodoList class:

     async void loginButton_Clicked(object sender, EventArgs e)
     {
         if (App.Authenticator != null)
             authenticated = await App.Authenticator.Authenticate();
    
         // Set syncItems to true to synchronize the data on startup when offline is enabled.
         if (authenticated == true)
             await RefreshItems(true, syncItems: false);
     }
    
  8. Uw wijzigingen opslaan en opnieuw maken van het draagbare klassebibliotheek project zonder fouten controleren.Save your changes and rebuild the Portable Class Library project verifying no errors.

Verificatie toevoegen aan de Android-appAdd authentication to the Android app

Deze sectie wordt beschreven hoe u implementeert de IAuthenticate interface in het Android-app-project.This section shows how to implement the IAuthenticate interface in the Android app project. Deze sectie overslaan als u geen ondersteuning voor Android-apparaten bieden.Skip this section if you are not supporting Android devices.

  1. In Visual Studio of Xamarin Studio, met de rechtermuisknop op de droid project, klikt u vervolgens Set as StartUp Project.In Visual Studio or Xamarin Studio, right-click the droid project, then Set as StartUp Project.

  2. Druk op F5 om het project in het foutopsporingsprogramma start en vervolgens controleren of dat een niet-verwerkte uitzondering met een statuscode 401 (niet-gemachtigd) wordt gegenereerd na de app wordt gestart.Press F5 to start the project in the debugger, then verify that an unhandled exception with a status code of 401 (Unauthorized) is raised after the app starts. De 401 code wordt gemaakt, omdat toegang op de back-end beperkt tot alleen geautoriseerde gebruikers is.The 401 code is produced because access on the backend is restricted to authorized users only.

  3. Open MainActivity.cs in het Android-project en voeg de volgende using instructies:Open MainActivity.cs in the Android project and add the following using statements:

     using Microsoft.WindowsAzure.MobileServices;
     using System.Threading.Tasks;
    
  4. Update de MainActivity klasse voor het implementeren van de IAuthenticate interface, als volgt:Update the MainActivity class to implement the IAuthenticate interface, as follows:

     public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity, IAuthenticate
    
  5. Update de MainActivity klasse door toe te voegen een MobileServiceUser veld en een verifiëren methode, die vereist wordt door de IAuthenticate interface, als volgt:Update the MainActivity class by adding a MobileServiceUser field and an Authenticate method, which is required by the IAuthenticate interface, as follows:

     // Define an authenticated user.
     private MobileServiceUser user;
    
     public async Task<bool> Authenticate()
     {
         var success = false;
         var message = string.Empty;
         try
         {
             // Sign in with Facebook login using a server-managed flow.
             user = await TodoItemManager.DefaultManager.CurrentClient.LoginAsync(this, 
                 MobileServiceAuthenticationProvider.Facebook, "{url_scheme_of_your_app}");
             if (user != null)
             {
                 message = string.Format("you are now signed-in as {0}.",
                     user.UserId);
                 success = true;
             }
         }
         catch (Exception ex)
         {
             message = ex.Message;
         }
    
         // Display the success or failure message.
         AlertDialog.Builder builder = new AlertDialog.Builder(this);
         builder.SetMessage(message);
         builder.SetTitle("Sign-in result");
         builder.Create().Show();
    
         return success;
     }
    

    Als u van een id-provider dan Facebook gebruikmaakt, kiest u een andere waarde voor MobileServiceAuthenticationProvider.If you are using an identity provider other than Facebook, choose a different value for MobileServiceAuthenticationProvider.

  6. Update de AndroidManifest.xml bestand door toe te voegen van de volgende XML-code binnen de <application> element:Update the AndroidManifest.xml file by adding the following XML inside the <application> element:

    <activity android:name="com.microsoft.windowsazure.mobileservices.authentication.RedirectUrlActivity" android:launchMode="singleTop" android:noHistory="true">
      <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="{url_scheme_of_your_app}" android:host="easyauth.callback" />
      </intent-filter>
    </activity>
    

    Vervang {url_scheme_of_your_app} met uw URL-schema.Replace {url_scheme_of_your_app} with your URL scheme.

  7. Voeg de volgende code aan de OnCreate -methode van de MainActivity klasse voordat de aanroep van LoadApplication():Add the following code to the OnCreate method of the MainActivity class before the call to LoadApplication():

     // Initialize the authenticator before loading the app.
     App.Init((IAuthenticate)this);
    

    Deze code zorgt ervoor dat de verificator wordt geïnitialiseerd voordat de belasting voor de app.This code ensures the authenticator is initialized before the app loads.

  8. Opnieuw opbouwen van de app, uitvoeren en meld u aan met de verificatieprovider die u hebt gekozen en controleer of u kunt toegang tot gegevens als een geverifieerde gebruiker.Rebuild the app, run it, then sign in with the authentication provider you chose and verify you are able to access data as an authenticated user.

Problemen oplossenTroubleshooting

De toepassing is vastgelopen met Java.Lang.NoSuchMethodError: No static method startActivityThe application crashed with Java.Lang.NoSuchMethodError: No static method startActivity

In sommige gevallen, veroorzaakt een conflict in de voor ondersteuningspakketten die weergegeven als slechts een waarschuwing in de Visual studio, maar het vastlopen van de toepassing met deze uitzondering tijdens runtime.In some cases, conflicts in the support packages displayed as just a warning in the Visual studio, but the application crashes with this exception at runtime. In dit geval moet u ervoor zorgen dat alle ondersteuningspakketten waarnaar wordt verwezen in uw project beschikt over dezelfde versie.In this case you need to make sure that all the support packages referenced in your project have the same version. Het Azure Mobile Apps NuGet-pakket heeft Xamarin.Android.Support.CustomTabs-afhankelijkheid voor het Android-platform, dus als uw project gebruikmaakt van nieuwere ondersteuningspakketten, moet u dit pakket met de vereiste versie rechtstreeks installeren om conflicten te voorkomen.The Azure Mobile Apps NuGet package has Xamarin.Android.Support.CustomTabs dependency for Android platform, so if your project uses newer support packages you need to install this package with required version directly to avoid conflicts.

Verificatie toevoegen aan de iOS-appAdd authentication to the iOS app

Deze sectie wordt beschreven hoe u implementeert de IAuthenticate interface in het iOS-app-project.This section shows how to implement the IAuthenticate interface in the iOS app project. Als u iOS-apparaten niet ondersteunt, kunt u deze sectie overslaan.Skip this section if you are not supporting iOS devices.

  1. In Visual Studio of Xamarin Studio, met de rechtermuisknop op de iOS project, klikt u vervolgens Set as StartUp Project.In Visual Studio or Xamarin Studio, right-click the iOS project, then Set as StartUp Project.

  2. Druk op F5 om het project in het foutopsporingsprogramma start en vervolgens controleren of dat een niet-verwerkte uitzondering met een statuscode 401 (niet-gemachtigd) wordt gegenereerd na de app wordt gestart.Press F5 to start the project in the debugger, then verify that an unhandled exception with a status code of 401 (Unauthorized) is raised after the app starts. De 401-respons is gemaakt, omdat toegang op de back-end beperkt tot alleen geautoriseerde gebruikers is.The 401 response is produced because access on the backend is restricted to authorized users only.

  3. Open AppDelegate.cs in het iOS-project en voeg de volgende using instructies:Open AppDelegate.cs in the iOS project and add the following using statements:

     using Microsoft.WindowsAzure.MobileServices;
     using System.Threading.Tasks;
    
  4. Update de AppDelegate klasse voor het implementeren van de IAuthenticate interface, als volgt:Update the AppDelegate class to implement the IAuthenticate interface, as follows:

     public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate, IAuthenticate
    
  5. Update de AppDelegate klasse door toe te voegen een MobileServiceUser veld en een verifiëren methode, die vereist wordt door de IAuthenticate interface, als volgt:Update the AppDelegate class by adding a MobileServiceUser field and an Authenticate method, which is required by the IAuthenticate interface, as follows:

     // Define an authenticated user.
     private MobileServiceUser user;
    
     public async Task<bool> Authenticate()
     {
         var success = false;
         var message = string.Empty;
         try
         {
             // Sign in with Facebook login using a server-managed flow.
             if (user == null)
             {
                 user = await TodoItemManager.DefaultManager.CurrentClient
                     .LoginAsync(UIApplication.SharedApplication.KeyWindow.RootViewController,
                     MobileServiceAuthenticationProvider.Facebook, "{url_scheme_of_your_app}");
                 if (user != null)
                 {
                     message = string.Format("You are now signed-in as {0}.", user.UserId);
                     success = true;
                 }
             }
         }
         catch (Exception ex)
         {
            message = ex.Message;
         }
    
         // Display the success or failure message.
         UIAlertController avAlert = UIAlertController.Create("Sign-in result", message, UIAlertControllerStyle.Alert);
         avAlert.AddAction(UIAlertAction.Create("OK", UIAlertActionStyle.Default, null));
         UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(avAlert, true, null);
    
         return success;
     }
    

    Als u van een id-provider dan Facebook gebruikmaakt, kiest u een andere waarde voor [MobileServiceAuthenticationProvider].If you are using an identity provider other than Facebook, choose a different value for [MobileServiceAuthenticationProvider].

  6. Update de AppDelegate klasse door toe te voegen de OpenUrl methode overbelasten als volgt:Update the AppDelegate class by adding the OpenUrl method overload, as follows:

     public override bool OpenUrl(UIApplication app, NSUrl url, NSDictionary options)
     {
         return TodoItemManager.DefaultManager.CurrentClient.ResumeWithURL(url);
     }
    
  7. Voeg de volgende regel code aan de FinishedLaunching methode voordat de aanroep van LoadApplication():Add the following line of code to the FinishedLaunching method before the call to LoadApplication():

     App.Init(this);
    

    Deze code zorgt ervoor dat de verificator is geïnitialiseerd voordat de app wordt geladen.This code ensures the authenticator is initialized before the app is loaded.

  8. Open de Info.plist en voeg een URL-Type.Open Info.plist and add a URL Type. Instellen de id naar een naam van uw keuze, de URL-schema's naar de URL-schema voor uw app en de rol op None.Set the Identifier to a name of your choosing, the URL Schemes to the URL scheme for your app, and the Role to None.

  9. Opnieuw opbouwen van de app, uitvoeren en meld u aan met de verificatieprovider die u hebt gekozen en controleer of u kunt toegang tot gegevens als een geverifieerde gebruiker.Rebuild the app, run it, then sign in with the authentication provider you chose and verify you are able to access data as an authenticated user.

Verificatie toevoegen aan projecten voor apps van Windows 10 (inclusief Phone)Add authentication to Windows 10 (including Phone) app projects

Deze sectie wordt beschreven hoe u implementeert de IAuthenticate interface in de Windows 10-app-projecten.This section shows how to implement the IAuthenticate interface in the Windows 10 app projects. De stappen die gelden voor Universal Windows Platform (UWP)-projecten, maar met behulp van de UWP project (met de vermelde wijzigingen).The same steps apply for Universal Windows Platform (UWP) projects, but using the UWP project (with noted changes). Deze sectie overslaan als Windows-apparaten worden niet ondersteund.Skip this section if you are not supporting Windows devices.

  1. In Visual Studio met de rechtermuisknop op de UWP project, klikt u vervolgens Set as StartUp Project.In Visual Studio, right-click the UWP project, then Set as StartUp Project.

  2. Druk op F5 om het project in het foutopsporingsprogramma start en vervolgens controleren of dat een niet-verwerkte uitzondering met een statuscode 401 (niet-gemachtigd) wordt gegenereerd na de app wordt gestart.Press F5 to start the project in the debugger, then verify that an unhandled exception with a status code of 401 (Unauthorized) is raised after the app starts. De 401-respons komt doordat de toegang tot de back-end is beperkt tot alleen geautoriseerde gebruikers.The 401 response happens because access on the backend is restricted to authorized users only.

  3. MainPage.xaml.cs openen voor het Windows-app-project en voeg de volgende using instructies:Open MainPage.xaml.cs for the Windows app project and add the following using statements:

     using Microsoft.WindowsAzure.MobileServices;
     using System.Threading.Tasks;
     using Windows.UI.Popups;
     using <your_Portable_Class_Library_namespace>;
    

    Vervang <your_Portable_Class_Library_namespace> met de naamruimte voor uw draagbare klassenbibliotheek vormt.Replace <your_Portable_Class_Library_namespace> with the namespace for your portable class library.

  4. Update de MainPage klasse voor het implementeren van de IAuthenticate interface, als volgt:Update the MainPage class to implement the IAuthenticate interface, as follows:

     public sealed partial class MainPage : IAuthenticate
    
  5. Update de MainPage klasse door toe te voegen een MobileServiceUser veld en een verifiëren methode, die vereist wordt door de IAuthenticateinterface, als volgt:Update the MainPage class by adding a MobileServiceUser field and an Authenticate method, which is required by the IAuthenticate interface, as follows:

     // Define an authenticated user.
     private MobileServiceUser user;
    
     public async Task<bool> Authenticate()
     {
         string message = string.Empty;
         var success = false;
    
         try
         {
             // Sign in with Facebook login using a server-managed flow.
             if (user == null)
             {
                 user = await TodoItemManager.DefaultManager.CurrentClient
                     .LoginAsync(MobileServiceAuthenticationProvider.Facebook, "{url_scheme_of_your_app}");
                 if (user != null)
                 {
                     success = true;
                     message = string.Format("You are now signed-in as {0}.", user.UserId);
                 }
             }
    
         }
         catch (Exception ex)
         {
             message = string.Format("Authentication Failed: {0}", ex.Message);
         }
    
         // Display the success or failure message.
         await new MessageDialog(message, "Sign-in result").ShowAsync();
    
         return success;
     }
    

    Als u van een id-provider dan Facebook gebruikmaakt, kiest u een andere waarde voor MobileServiceAuthenticationProvider.If you are using an identity provider other than Facebook, choose a different value for MobileServiceAuthenticationProvider.

  6. Voeg de volgende regel code toe in de constructor voor het MainPage klasse voordat de aanroep van LoadApplication():Add the following line of code in the constructor for the MainPage class before the call to LoadApplication():

     // Initialize the authenticator before loading the app.
     <your_Portable_Class_Library_namespace>.App.Init(this);
    

    Vervang <your_Portable_Class_Library_namespace> met de naamruimte voor uw draagbare klassenbibliotheek vormt.Replace <your_Portable_Class_Library_namespace> with the namespace for your portable class library.

  7. Als u UWP, voeg de volgende OnActivated methode overschrijven naar de App klasse:If you are using UWP, add the following OnActivated method override to the App class:

    protected override void OnActivated(IActivatedEventArgs args)
    {
        base.OnActivated(args);
    
         if (args.Kind == ActivationKind.Protocol)
         {
             ProtocolActivatedEventArgs protocolArgs = args as ProtocolActivatedEventArgs;
             MobileServiceClientExtensions.ResumeWithURL(TodoItemManager.DefaultManager.CurrentClient,protocolArgs.Uri);
         }
    }
    
  8. Open Package.appxmanifest en voeg een Protocol declaratie.Open Package.appxmanifest and add a Protocol declaration. Stelt de weergavenaam naar een naam van uw keuze, en de naam naar de URL-schema van uw app.Set the Display name to a name of your choosing, and the Name to the URL scheme for you app.

  9. Opnieuw opbouwen van de app, uitvoeren en meld u aan met de verificatieprovider die u hebt gekozen en controleer of u kunt toegang tot gegevens als een geverifieerde gebruiker.Rebuild the app, run it, then sign in with the authentication provider you chose and verify you are able to access data as an authenticated user.

Volgende stappenNext steps

Nu dat u basisverificatie-zelfstudie hebt voltooid, kunt u doorgaan naar een van de volgende zelfstudies:Now that you completed this basic authentication tutorial, consider continuing on to one of the following tutorials:

  • Pushmeldingen toevoegen aan uw appAdd push notifications to your app

    Informatie over het toevoegen van ondersteuning van pushmeldingen aan uw app en het configureren van de backend voor mobiele apps voor gebruik van Azure Notification Hubs voor het verzenden van pushmeldingen.Learn how to add push notifications support to your app and configure your Mobile App backend to use Azure Notification Hubs to send push notifications.

  • Offlinesynchronisatie voor uw app inschakelenEnable offline sync for your app

    Informatie over het toevoegen van offlineondersteuning aan uw app met een back-end voor mobiele apps.Learn how to add offline support your app using a Mobile App backend. Offlinesynchronisatie kunnen eindgebruikers om te communiceren met een mobiele app - weergeven, toevoegen of wijzigen van gegevens -, zelfs wanneer er geen netwerkverbinding.Offline sync allows end users to interact with a mobile app - viewing, adding, or modifying data - even when there is no network connection.