Verificatie met gebruikersnaam en wachtwoord

Warning

De Resource Owner Password Credential (ROPC)-flow is uitgefaseerd voor publieke clienttoepassingen vanwege beveiligingsrisico's. Microsoft raadt aan een veiligere verificatiestroom te gebruiken. Volg de officiële richtlijnen voor het migreren van ROPC.

De onderstaande inhoud is van toepassing op alle MSAL-bibliotheken, niet alleen op MSAL-Python.

Microsoft raadt u aan de gebruikersnaam en wachtwoordstroom niet te gebruiken. In de meeste scenario's zijn veiligere alternatieven beschikbaar en aanbevolen. Deze stroom vereist een zeer hoge mate van vertrouwen in de toepassing en draagt risico's die niet aanwezig zijn in andere stromen. U moet deze stroom alleen gebruiken wanneer andere veiligere stromen niet haalbaar zijn. Zie voor meer informatie over waarom u deze toekenning niet wilt gebruiken, waarom Microsoft aan het werk is om wachtwoorden iets van het verleden te maken.

Constraints

  • De verificatie van gebruikersnaam en wachtwoord werkt standaard alleen voor werk- en schoolaccounts, maar niet voor Microsoft accounts (MSA). Bekijk hier de definitie van deze twee typen accounts.
  • De verificatie met gebruikersnaam/wachtwoord is niet compatibel met voorwaardelijke toegang en meervoudige verificatie, omdat dit geen interactieve stroom is, heeft de Microsoft identity platform geen mogelijkheid om een webdialoogvenster te presenteren waarmee de eindgebruiker kan communiceren. Als uw app daarom wordt uitgevoerd in een Microsoft Entra tenant waarvoor de tenantbeheerder meervoudige verificatie vereist (veel organisaties doen dat), werkt deze stroom niet.
  • Omdat verificatie van gebruikersnaamwachtwoorden een niet-interactieve stroom is:
    • de gebruiker van uw toepassing moet eerder toestemming hebben gegeven om de toepassing te gebruiken
    • of de tenantbeheerder moet eerder toestemming hebben gegeven voor alle gebruikers in de tenant om de toepassing te kunnen gebruiken.
    • Dit betekent dat:
      • of u als ontwikkelaar op de knop Verlenen hebt gedrukt op de Azure-portal voor uzelf,
      • of een tenantbeheerder heeft op de knop Beheerderstoestemming verlenen/intrekken voor {tenantdomein} op het tabblad API-machtigingen van de registratie voor de toepassing ingedrukt (Zie Machtigingen toevoegen voor toegang tot web-API's)
      • of u hebt een manier opgegeven voor gebruikers om toestemming te geven voor de toepassing (zie Toestemming van afzonderlijke gebruiker aanvragen)
      • of u hebt een manier opgegeven voor de tenantbeheerder om toestemming te geven voor de toepassing (zie beheerderstoestemming)

Aanbevelingen

Zelfs als u ervoor kiest om verificatie van gebruikersnaamwachtwoorden te gebruiken, moet u het wachtwoord van de eindgebruiker niet behouden. Nadat de initiële verificatie van het wachtwoord voor de gebruikersnaam is geslaagd, wordt de tokencache van MSAL geactiveerd en wordt het vernieuwingstoken (RT) automatisch in de cache opgeslagen. Vanaf nu kan uw app MSAL's acquire_token_silent() aanroepen om een nieuw toegangstoken te verkrijgen zonder gebruikersnaam en wachtwoord.

Instellen

Microsoft identity platform ondersteunt de wachtwoordstroom voor gebruikersnamen in openbare clienttoepassing en vertrouwelijke clienttoepassing. Als u uw app wilt configureren als een openbare clienttoepassing, schakelt u de schakeloptie in de onderstaande schermopname in om deze toe te staan.

Installatie van openbare app