Bagikan melalui


ActiveDirectoryAuthenticationProvider.SetDeviceCodeFlowCallback Metode

Definisi

Mengatur metode panggilan balik, mengganti implementasi default yang memproses hasil untuk autentikasi 'Alur Kode Perangkat Direktori Aktif'.

public:
 void SetDeviceCodeFlowCallback(Func<Microsoft::Identity::Client::DeviceCodeResult ^, System::Threading::Tasks::Task ^> ^ deviceCodeFlowCallbackMethod);
public void SetDeviceCodeFlowCallback (Func<Microsoft.Identity.Client.DeviceCodeResult,System.Threading.Tasks.Task> deviceCodeFlowCallbackMethod);
member this.SetDeviceCodeFlowCallback : Func<Microsoft.Identity.Client.DeviceCodeResult, System.Threading.Tasks.Task> -> unit
Public Sub SetDeviceCodeFlowCallback (deviceCodeFlowCallbackMethod As Func(Of DeviceCodeResult, Task))

Parameter

deviceCodeFlowCallbackMethod
Func<DeviceCodeResult,Task>

Metode panggilan balik yang akan digunakan dengan autentikasi 'Alur Kode Perangkat Direktori Aktif'.

Contoh

Contoh berikut menunjukkan penyediaan panggilan balik alur perangkat kustom ke SqlClient untuk metode autentikasi Alur Kode Perangkat:

using System;
using System.Threading.Tasks;
using Microsoft.Identity.Client;
using Microsoft.Data.SqlClient;

namespace CustomAuthenticationProviderExamples
{
    public class Program
    {
        public static void Main()
        {
            SqlAuthenticationProvider authProvider = new ActiveDirectoryAuthenticationProvider(CustomDeviceFlowCallback);
            SqlAuthenticationProvider.SetProvider(SqlAuthenticationMethod.ActiveDirectoryDeviceCodeFlow, authProvider);
            using (SqlConnection sqlConnection = new SqlConnection("Server=<myserver>.database.windows.net;Authentication=Active Directory Device Code Flow;Database=<db>;"))
            {
                sqlConnection.Open();
                Console.WriteLine("Connected successfully!");
            }
        }

        private static Task CustomDeviceFlowCallback(DeviceCodeResult result)
        {
            // Provide custom logic to process result information and read device code.
            Console.WriteLine(result.Message);
            return Task.FromResult(0);
        }
    }
}

Berlaku untuk