Megosztás a következőn keresztül:


Egyoldalas alkalmazás: bejelentkezés és kijelentkezés

Ahhoz, hogy jogkivonatokat szerezzen be az api-k eléréséhez az alkalmazásban, hitelesített felhasználói környezetre van szüksége. A felhasználók hitelesítéséhez használhat előugró ablakot és/vagy átirányítási bejelentkezési módszert.

Ha az alkalmazás rendelkezik hozzáféréssel egy hitelesített felhasználói környezethez vagy azonosító jogkivonathoz, kihagyhatja a bejelentkezési lépést, és közvetlenül szerezhet be jogkivonatokat. További részletekért lásd : Egyszeri bejelentkezés (SSO) felhasználói tippekkel.

Választás előugró vagy átirányítási felület között

Az előugró vagy az átirányítási felület közötti választás az alkalmazás folyamatától függ.

  • Használjon előugró ablakot, ha nem szeretné, hogy a felhasználók a hitelesítés során elmozduljanak a fő alkalmazáslapról. Mivel a hitelesítési átirányítás egy előugró ablakban történik, a fő alkalmazás állapota megmarad.

  • Akkor használjon átirányítást, ha a felhasználók böngészőkorlátokkal vagy szabályzatokkal rendelkeznek, amelyekben az előugró ablakok le vannak tiltva. Az Internet Explorer előugró ablakaival kapcsolatban például ismert problémák merülnek fel.

Bejelentkezés előugró ablakkal

const config = {
  auth: {
    clientId: "your_app_id",
    redirectUri: "your_app_redirect_uri", //defaults to application start page
    postLogoutRedirectUri: "your_app_logout_redirect_uri",
  },
};

const loginRequest = {
  scopes: ["User.ReadWrite"],
};

let accountId = "";

const myMsal = new PublicClientApplication(config);

myMsal
  .loginPopup(loginRequest)
  .then(function (loginResponse) {
    accountId = loginResponse.account.homeAccountId;
    // Display signed-in user content, call API, etc.
  })
  .catch(function (error) {
    //login failure
    console.log(error);
  });

Bejelentkezés átirányítással

const config = {
  auth: {
    clientId: "your_app_id",
    redirectUri: "your_app_redirect_uri", //defaults to application start page
    postLogoutRedirectUri: "your_app_logout_redirect_uri",
  },
};

const loginRequest = {
  scopes: ["User.ReadWrite"],
};

let accountId = "";

const myMsal = new PublicClientApplication(config);

function handleResponse(response) {
  if (response !== null) {
    accountId = response.account.homeAccountId;
    // Display signed-in user content, call API, etc.
  } else {
    // In case multiple accounts exist, you can select
    const currentAccounts = myMsal.getAllAccounts();

    if (currentAccounts.length === 0) {
      // no accounts signed-in, attempt to sign a user in
      myMsal.loginRedirect(loginRequest);
    } else if (currentAccounts.length > 1) {
      // Add choose account code here
    } else if (currentAccounts.length === 1) {
      accountId = currentAccounts[0].homeAccountId;
    }
  }
}

myMsal.handleRedirectPromise().then(handleResponse);

Kijelentkezési viselkedés böngészőkben

Egy vagy több alkalmazás biztonságos kijelentkezésének biztosítása érdekében a következő módszereket javasoljuk:

  • Megosztott eszközökön a felhasználóknak a böngésző privát/inkognitó üzemmódját kell használniuk, és be kell zárniuk az összes böngészőablakot, mielőtt kilépnének az eszközről.

  • A nem megosztott eszközökön a felhasználóknak egy operációsrendszer-zárolási képernyőt kell használniuk a teljes operációsrendszer-munkamenet zárolásához vagy kijelentkezéséhez az eszközön. A Microsoft a bejelentkezési oldalával emlékezteti a felhasználókat ezekre az adatvédelmi és biztonsági ajánlott eljárásokra.

További információkért tekintse meg a Microsoft internetes adatvédelmi ajánlott eljárásait.

Ha egy felhasználó úgy dönt, hogy nem jelentkezik ki a javaslatok használatával, a következő módszerek teszik lehetővé a kijelentkezési funkciót:

  • A Microsoft OpenID Connect Front Channel-kijelentkezése összevont kijelentkezéshez. Ezt a lehetőséget akkor használhatja, ha egy alkalmazás új alkalmazással oszt meg bejelentkezési állapotot, de saját munkamenet-jogkivonatokat/cookie-kat kezel. Bizonyos korlátozások vonatkoznak erre a megvalósításra, ahol a tartalom le van tiltva, például ha a böngészők letiltják a külső cookie-kat.

  • Előugró ablak és/vagy helyi alkalmazás átirányítása kijelentkezik. Az előugró és átirányítási metódusok befejezik a felhasználó munkamenetét a végponton és a helyi alkalmazásban. Előfordulhat azonban, hogy ezek a metódusok nem törlik azonnal a munkamenetet más összevont alkalmazások esetében, ha az előtérbeli kommunikáció le van tiltva.

Kijelentkezés előugró ablakkal

MSAL.js v2 és újabb verziók olyan logoutPopup módszert biztosítanak, amely törli a gyorsítótárat a böngésző tárterületében, és megnyit egy előugró ablakot a Microsoft Entra kijelentkezési oldalára. A kijelentkezés után az átirányítás alapértelmezés szerint a bejelentkezési kezdőlapra kerül, és az előugró ablak bezárul.

A kijelentkezés utáni felület beállításával átirányíthatja a postLogoutRedirectUri felhasználót egy adott URI-ba. Ezt az URI-t átirányítási URI-ként kell regisztrálni az alkalmazásregisztrációban. Úgy is konfigurálhatja logoutPopup , hogy a főablakot egy másik lapra, például a kezdőlapra irányítsa át, vagy a kérés részeként adja át mainWindowRedirectUri a bejelentkezési lapot.

const config = {
  auth: {
    clientId: "your_app_id",
    redirectUri: "your_app_redirect_uri", // defaults to application start page
    postLogoutRedirectUri: "your_app_logout_redirect_uri",
  },
};

const myMsal = new PublicClientApplication(config);

// you can select which account application should sign out
const logoutRequest = {
  account: myMsal.getAccountByHomeId(homeAccountId),
  mainWindowRedirectUri: "your_app_main_window_redirect_uri",
};

await myMsal.logoutPopup(logoutRequest);

Kijelentkezés átirányítással

MSAL.js egy metódust logout biztosít az 1- és a logoutRedirect 2-ben, amely törli a gyorsítótárat a böngészőtárolóban, és átirányítja a Microsoft Entra kijelentkezési oldalára. A kijelentkezés után az átirányítás alapértelmezés szerint a bejelentkezési kezdőlapra kerül.

A kijelentkezés utáni felület beállításával átirányíthatja a postLogoutRedirectUri felhasználót egy adott URI-ba. Ezt az URI-t átirányítási URI-ként kell regisztrálni az alkalmazásregisztrációban.

Mivel ebben a módszerben nem jelenik meg a Microsoftnak a privát böngésző és a zárolási képernyő használatára vonatkozó ajánlott internetes adatvédelmi eljárásokra vonatkozó emlékeztetője, érdemes lehet leírni az ajánlott eljárásokat, és emlékeztetni a felhasználókat az összes böngészőablak bezárására.

const config = {
  auth: {
    clientId: "your_app_id",
    redirectUri: "your_app_redirect_uri", //defaults to application start page
    postLogoutRedirectUri: "your_app_logout_redirect_uri",
  },
};

const myMsal = new PublicClientApplication(config);

// you can select which account application should sign out
const logoutRequest = {
  account: myMsal.getAccountByHomeId(homeAccountId),
};

myMsal.logoutRedirect(logoutRequest);

Következő lépések

Lépjen tovább a következő cikkre ebben a forgatókönyvben, és szerezzen be egy jogkivonatot az alkalmazáshoz.