Kommentar
Å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.
Du kan använda MSAL4J för att logga in användare med sociala identiteter med hjälp av Azure Active Directory B2C (Azure AD B2C). Azure AD B2C bygger på begreppet principer. I MSAL4J innebär det att ange en policy att tillhandahålla en auktoritet – när du skapar en klientapplikation måste du ange policyn i auktoritetskonfigurationen
Auktoritet för en B2C-klientorganisation och policy
I allmänhet är behörigheten att använda https://login.microsoftonline.com/tfp/{tenant}/{policyName}, där:
-
tenantär namnet på Azure AD B2C-klientorganisationen -
policyNamenamnet på principen som ska tillämpas (till exempelb2c_1_susiför inloggning/registrering).
Note
Den nuvarande rekommendationen från Azure AD B2C-teamet är att använda b2clogin.com som auktoritet. Till exempel https://{your-tenant-name}.b2clogin.com/tfp/{your-tenant-ID}/{policyname}. Mer information finns i Ange omdirigerings-URL:er till b2clogin.com för Azure Active Directory B2C.
Begränsningar för användarnamnet och lösenordsflödet
Microsoft rekommenderar att du inte använder autentiseringsuppgifterna för resursägares lösenord (ROPC), även kallat användarnamn och lösenordsflöde. I de flesta scenarier är säkrare alternativ tillgängliga och rekommenderas. Det här flödet kräver en mycket hög grad av förtroende för programmet och medför risker som inte finns i andra flöden. Du bör bara använda det här flödet när andra säkrare flöden inte är livskraftiga. Mer information om varför du vill undvika att använda det här bidraget finns i varför Microsoft arbetar för att göra lösenord till ett minne blott.
Om du använder användarnamns- och lösenordsflöden med MSAL4J bör du vara medveten om följande begränsningar:
- Flödet fungerar bara för lokala konton, där du registrerar dig med Azure AD B2C med ett e-postmeddelande eller användarnamn. Det här flödet fungerar inte om du federerar till någon av de identitetsprovidrar som stöds av B2C (Facebook, Google osv.).
- För närvarande returneras ingen
id_tokenfrån B2C när du implementerar ROPC-flödet från MSAL. Det innebär att ett kontoobjekt inte kan skapas, så i cacheminnet finns det inget konto och ingen användare. FlödetacquireTokenSilentlyfungerar inte i det här scenariot. Ropc visar dock inget användargränssnitt, så användarupplevelsen påverkas inte.
Instansiering av en applikation
För konfidentiella klientapplikationer:
ConfidentialClientApplication cca = ConfidentialClientApplication.builder(APP_ID, credential)
.b2cAuthority(B2C_AUTHORITY)
.build();
För offentliga klientprogram:
PublicClientApplication pca = new PublicClientApplication.Builder(APP_ID)
.b2cAuthority(B2C_AUTHORITY)
.build();