Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
MIM-kunder har två alternativ för multifaktorautentisering i scenarierna SSPR och PAM:
- Använd en anpassad leverantör för engångslösenordsleverans, som endast gäller i MIM SSPR-scenariot och dokumenteras i guide för att Konfigurera Self-Service lösenordsåterställning med OTP SMS Gate
- Använd en anpassad telefoniprovider för multifaktorautentisering. Detta gäller både i MIM SSPR- och PAM-scenarierna, som beskrivs i den här artikeln
Den här artikeln beskriver hur du använder MIM med en anpassad multifaktorautentiseringsprovider, via ett API och ett integrerings-SDK som utvecklats av kunden.
Förutsättningar
För att kunna använda ett anpassat API för multifaktorautentiseringsprovider med MIM behöver du:
- Telefonnummer för alla kandidatanvändare
- MIM-snabbkorrigering 4.5.202.0 eller senare – se versionshistorik för tillkännagivanden
- MIM-tjänsten har konfigurerats för SSPR eller PAM
Metod med anpassad kod för multifaktorautentisering
Steg 1: Kontrollera att MIM-tjänsten har version 4.5.202.0 eller senare
Ladda ner och installera MIM-snabbkorrigering 4.5.202.0 eller en senare version.
Steg 2: Skapa en DLL som implementerar gränssnittet IPhoneServiceProvider
DLL måste innehålla en klass som implementerar tre metoder:
-
InitiateCall: MIM-tjänsten anropar den här metoden. Tjänsten skickar telefonnummer och begärande-ID som parametrar. Metoden måste returnera ettPhoneCallStatus-värde avPending,SuccessellerFailed. -
GetCallStatus: Om ett tidigare anrop tillinitiateCallreturneradePendinganropar MIM-tjänsten den här metoden. Den här metoden returnerar ocksåPhoneCallStatusvärdet förPending,SuccessellerFailed. -
GetFailureMessage: Om ett tidigare anrop avInitiateCallellerGetCallStatusreturneradeFailedanropar MIM-tjänsten den här metoden. Den här metoden returnerar ett diagnostikmeddelande.
Implementeringarna av dessa metoder måste vara trådsäkra och dessutom får implementeringen av GetCallStatus och GetFailureMessage inte förutsätta att de anropas av samma tråd som ett tidigare anrop till InitiateCall.
Lagra DLL:en i katalogen C:\Program Files\Microsoft Forefront Identity Manager\2010\Service\.
Exempelkod som kan kompileras med Visual Studio 2010 eller senare.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Microsoft.IdentityManagement.PhoneServiceProvider;
namespace CustomPhoneGate
{
public class CustomPhoneGate: IPhoneServiceProvider
{
string path = @"c:\Test\phone.txt";
public PhoneCallStatus GetCallStatus(string callId)
{
int res = 2;
foreach (string line in File.ReadAllLines(path))
{
var info = line.Split(new char[] { ';' });
if (string.Compare(info[0], callId) == 0)
{
if (info.Length > 2)
{
bool b = Int32.TryParse(info[2], out res);
if (!b)
{
res = 2;
}
}
break;
}
}
switch(res)
{
case 0:
return PhoneCallStatus.Pending;
case 1:
return PhoneCallStatus.Success;
case 2:
return PhoneCallStatus.Failed;
default:
return PhoneCallStatus.Failed;
}
}
public string GetFailureMessage(string callId)
{
string res = "Call ID is not found";
foreach (string line in File.ReadAllLines(path))
{
var info = line.Split(new char[] { ';' });
if (string.Compare(info[0], callId) == 0)
{
if (info.Length > 2)
{
res = info[3];
}
else
{
res = "Description is not found";
}
break;
}
}
return res;
}
public PhoneCallStatus InitiateCall(string phoneNumber, Guid requestId, Dictionary<string,object> deliveryAttributes)
{
// Here should be some logic for performing voice call
// For testing purposes we just write details in file
string info = string.Format("{0};{1};{2};{3}", requestId, phoneNumber, 0, string.Empty);
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine(info);
}
return PhoneCallStatus.Pending;
}
}
}
Steg 3: Spara befintliga MfaSettings
Säkerhetskopiera MfaSettings.xml i mappen "C:\Program Files\Microsoft Forefront Identity Manager\2010\Service".
Step 4: Edit the MfaSettings.xml file
Uppdatera eller rensa följande rader:
Remove/Clear all configuration entries lines
Update or add the following lines to the following to MfaSettings.xml with your custom phone provider
<CustomPhoneProvider>C:\Program Files\Microsoft Forefront Identity Manager\2010\Service\CustomPhoneGate.dll</CustomPhoneProvider>
Steg 5: Starta om MIM-tjänsten
När tjänsten har startats om använder du SSPR och/eller PAM för att verifiera funktioner med den anpassade identitetsprovidern.
Anmärkning
Om du vill återställa inställningen ersätter du MfaSettings.xml med säkerhetskopieringsfilen i steg 3