Rychlý start: Přihlášení uživatelů do jednostránkové aplikace (SPA) a volání rozhraní Microsoft Graph API
Článek
V tomto rychlém průvodci použijete ukázkovou jednostránkovou aplikaci (SPA), která vám ukáže, jak přihlásit uživatele pomocí toku autorizačního kódu s klíčem k prokázání pro výměnu kódu (PKCE) a využít rozhraní Microsoft Graph API. Ukázka používá Microsoft Authentication Library pro zpracování autentizace.
K dokončení registrace zadejte název aplikace, zadejte podporované typy účtů a přidejte identifikátor URI přesměrování. Po registraci se v podokně Přehled aplikace zobrazí identifikátory potřebné ve zdrojovém kódu aplikace.
Pokud máte přístup k více tenantům, použijte v horní nabídce ikonu Nastavení pro přepnutí na tenanta, ve kterém chcete aplikaci zaregistrovat, a to z nabídky Adresáře a předplatná.
Přejděte na Identita>Aplikace>Registrace aplikacía vyberte Nová registrace.
Zadejte název pro aplikaci, například identity-client-spa.
U podporovaných typů účtůvyberte Účty v tomto organizačním adresáři pouze. Pokud chcete získat informace o různých typech účtů, vyberte možnost Pomozte mi zvolit možnost.
Vyberte Zaregistrovat.
Po dokončení registrace se zobrazí podokno Přehled aplikace. Poznamenejte ID adresáře (tenanta) a ID aplikace (klient), které se mají použít ve zdrojovém kódu aplikace.
V integrovaném vývojovém prostředí otevřete složku projektu ms-identity-docs-code-javascriptobsahující ukázku.
Otevřete vanillajs-spa/App/public/authConfig.js a aktualizujte následující hodnoty s informacemi zaznamenanými v Centru pro správu.
/**
* Configuration object to be passed to MSAL instance on creation.
* For a full list of MSAL.js configuration parameters, visit:
* https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md
*/
const msalConfig = {
auth: {
// WORKFORCE TENANT
authority: "https://login.microsoftonline.com/Enter_the_Tenant_Info_Here", // Replace the placeholder with your tenant info
// EXTERNAL TENANT
// authority: "https://Enter_the_Tenant_Subdomain_Here.ciamlogin.com/", // Replace the placeholder with your tenant subdomain
redirectUri: '/', // You must register this URI on App Registration. Defaults to window.location.href e.g. http://localhost:3000/
navigateToLoginRequestUrl: true, // If "true", will navigate back to the original request location before processing the auth code response.
},
cache: {
cacheLocation: 'sessionStorage', // Configures cache location. "sessionStorage" is more secure, but "localStorage" gives you SSO.
storeAuthStateInCookie: false, // set this to true if you have to support IE
},
system: {
loggerOptions: {
loggerCallback: (level, message, containsPii) => {
if (containsPii) {
return;
}
switch (level) {
case msal.LogLevel.Error:
console.error(message);
return;
case msal.LogLevel.Info:
console.info(message);
return;
case msal.LogLevel.Verbose:
console.debug(message);
return;
case msal.LogLevel.Warning:
console.warn(message);
return;
}
},
},
},
};
/**
* Scopes you add here will be prompted for user consent during sign-in.
* By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request.
* For more information about OIDC scopes, visit:
* https://learn.microsoft.com/en-us/entra/identity-platform/permissions-consent-overview#openid-connect-scopes
* https://learn.microsoft.com/en-us/entra/identity-platform/permissions-consent-overview#openid-connect-scopes
*/
const loginRequest = {
scopes: ["User.Read"],
};
/**
* An optional silentRequest object can be used to achieve silent SSO
* between applications by providing a "login_hint" property.
*/
// const silentRequest = {
// scopes: ["openid", "profile"],
// loginHint: "example@domain.net"
// };
// exporting config object for jest
if (typeof exports !== 'undefined') {
module.exports = {
msalConfig: msalConfig,
loginRequest: loginRequest,
};
module.exports = {
msalConfig: msalConfig,
loginRequest: loginRequest,
};
}
clientId – identifikátor aplikace, označovaný také jako klient. Nahraďte text v uvozovkách hodnotou ID aplikace (klienta) , která byla zaznamenána dříve.
authority – autorita je URL, která označuje umístění adresáře, ze kterého může MSAL požadovat tokeny. Nahraďte hodnotu Enter_the_Tenant_Info_Here hodnotou ID adresáře (tenanta), která byla dříve zaznamenána.
redirectUri – identifikátor URI přesměrování aplikace. V případě potřeby nahraďte text v uvozovkách identifikátorem URI přesměrování, který byl zaznamenán dříve.
V integrovaném vývojovém prostředí otevřete složku projektu ms-identity-docs-code-javascript/react-spaobsahující ukázku.
Otevřete react-spa/src/authConfig.js a aktualizujte následující hodnoty s informacemi zaznamenanými v Centru pro správu.
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
import { LogLevel } from "@azure/msal-browser";
/**
* Configuration object to be passed to MSAL instance on creation.
* For a full list of MSAL.js configuration parameters, visit:
* https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/configuration.md
*/
export const msalConfig = {
auth: {
clientId: "Enter_the_Application_Id_Here",
authority: "https://login.microsoftonline.com/Enter_the_Tenant_Info_Here",
redirectUri: "http://localhost:3000",
},
cache: {
cacheLocation: "sessionStorage", // This configures where your cache will be stored
storeAuthStateInCookie: false, // Set this to "true" if you are having issues on IE11 or Edge
},
system: {
loggerOptions: {
loggerCallback: (level, message, containsPii) => {
if (containsPii) {
return;
}
switch (level) {
case LogLevel.Error:
console.error(message);
return;
case LogLevel.Info:
console.info(message);
return;
case LogLevel.Verbose:
console.debug(message);
return;
case LogLevel.Warning:
console.warn(message);
return;
default:
return;
}
}
}
}
};
/**
* Scopes you add here will be prompted for user consent during sign-in.
* By default, MSAL.js will add OIDC scopes (openid, profile, email) to any login request.
* For more information about OIDC scopes, visit:
* https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent#openid-connect-scopes
*/
export const loginRequest = {
scopes: ["User.Read"]
};
/**
* Add here the scopes to request when obtaining an access token for MS Graph API. For more information, see:
* https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/resources-and-scopes.md
*/
export const graphConfig = {
graphMeEndpoint: "https://graph.microsoft.com/v1.0/me",
};
clientId – identifikátor aplikace, označovaný také jako klient. Text v uvozovkách nahradit hodnotou ID aplikace (klienta) , která byla zaznamenána dříve.
authority – autorita je adresa URL, která označuje adresář, ze kterého může knihovna MSAL požadovat tokeny. Nahraďte Enter_the_Tenant_Info_Here id adresáře (tenanta) hodnotu, která byla zaznamenána dříve.
redirectUri – Přesměrovací URI aplikace. V případě potřeby nahraďte text v uvozovkách identifikátorem URI přesměrování, který byl zaznamenán dříve.
V integrovaném vývojovém prostředí otevřete složku projektu ms-identity-docs-code-javascript/angular-spaobsahující ukázku.
Otevřete angular-spa/src/app/app.module.ts a aktualizujte následující hodnoty s informacemi zaznamenanými v Centru pro správu.
// Required for Angular multi-browser support
import { BrowserModule } from '@angular/platform-browser';
// Required for Angular
import { NgModule } from '@angular/core';
// Required modules and components for this application
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { ProfileComponent } from './profile/profile.component';
import { HomeComponent } from './home/home.component';
// HTTP modules required by MSAL
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
// Required for MSAL
import { IPublicClientApplication, PublicClientApplication, InteractionType, BrowserCacheLocation, LogLevel } from '@azure/msal-browser';
import { MsalGuard, MsalInterceptor, MsalBroadcastService, MsalInterceptorConfiguration, MsalModule, MsalService, MSAL_GUARD_CONFIG, MSAL_INSTANCE, MSAL_INTERCEPTOR_CONFIG, MsalGuardConfiguration, MsalRedirectComponent } from '@azure/msal-angular';
const isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1;
export function MSALInstanceFactory(): IPublicClientApplication {
return new PublicClientApplication({
auth: {
// 'Application (client) ID' of app registration in the Microsoft Entra admin center - this value is a GUID
clientId: "Enter_the_Application_Id_Here",
// Full directory URL, in the form of https://login.microsoftonline.com/<tenant>
authority: "https://login.microsoftonline.com/Enter_the_Tenant_Info_Here",
// Must be the same redirectUri as what was provided in your app registration.
redirectUri: "http://localhost:4200",
},
cache: {
cacheLocation: BrowserCacheLocation.LocalStorage,
storeAuthStateInCookie: isIE
}
});
}
// MSAL Interceptor is required to request access tokens in order to access the protected resource (Graph)
export function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {
const protectedResourceMap = new Map<string, Array<string>>();
protectedResourceMap.set('https://graph.microsoft.com/v1.0/me', ['user.read']);
return {
interactionType: InteractionType.Redirect,
protectedResourceMap
};
}
// MSAL Guard is required to protect routes and require authentication before accessing protected routes
export function MSALGuardConfigFactory(): MsalGuardConfiguration {
return {
interactionType: InteractionType.Redirect,
authRequest: {
scopes: ['user.read']
}
};
}
// Create an NgModule that contains the routes and MSAL configurations
@NgModule({
declarations: [
AppComponent,
HomeComponent,
ProfileComponent
],
imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule,
MsalModule
],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: MsalInterceptor,
multi: true
},
{
provide: MSAL_INSTANCE,
useFactory: MSALInstanceFactory
},
{
provide: MSAL_GUARD_CONFIG,
useFactory: MSALGuardConfigFactory
},
{
provide: MSAL_INTERCEPTOR_CONFIG,
useFactory: MSALInterceptorConfigFactory
},
MsalService,
MsalGuard,
MsalBroadcastService
],
bootstrap: [AppComponent, MsalRedirectComponent]
})
export class AppModule { }
clientId – identifikátor aplikace, označovaný také jako klient. Text v uvozovkách nahraďte hodnotou ID aplikace (klienta) , která byla zaznamenána dříve.
authority – autorita je URL adresa, která označuje adresář, ze kterého může knihovna MSAL získat tokeny. Nahraďte Enter_the_Tenant_Info_Here id adresáře (tenanta) hodnotu, která byla zaznamenána dříve.
redirectUri – Přesměrovací URI aplikace. V případě potřeby nahraďte text v uvozovkách identifikátorem URI přesměrování, který byl zaznamenán dříve.
V integrovaném vývojovém prostředí otevřete složku projektu ms-identity-docs-code-dotnet/spa-blazor-wasmobsahující ukázku.
Otevřete spa-blazor-wasm/wwwroot/appsettings.json a aktualizujte následující hodnoty s informacemi zaznamenanými dříve v Centru pro správu.
{
"AzureAd": {
"Authority": "https://login.microsoftonline.com/<Enter the tenant ID obtained from the Microsoft Entra admin center>",
"ClientId": "Enter the client ID obtained from the Microsoft Entra admin center",
"ValidateAuthority": true
}
}
Authority – Autorita URL označuje adresář, ze kterého může MSAL požadovat tokeny. Nahraďte Enter_the_Tenant_Info_Here id adresáře (tenanta) hodnotu, která byla zaznamenána dříve.
ClientId – identifikátor aplikace, označovaný také jako klient. Nahraďte text v uvozovkách hodnotou ID aplikace (klienta) , která byla zaznamenána dříve.
Spuštění projektu s webovým serverem pomocí Node.js:
Pokud chcete spustit server, spusťte v adresáři projektu následující příkazy:
cd vanillajs-spa/App
npm install
npm start
Zkopírujte https adresu URL, která se zobrazí v terminálu, například https://localhost:3000a vložte ji do prohlížeče. Doporučujeme použít soukromou nebo inkognito relaci prohlížeče.
Postupujte podle pokynů a zadejte potřebné podrobnosti pro přihlášení pomocí účtu Microsoft. Budete požádáni o e-mailovou adresu, aby vám bylo možné poslat jednorázové heslo. Po zobrazení výzvy zadejte kód.
Aplikace požádá o oprávnění k údržbě přístupu k datům, ke kterým jste jim udělili přístup, a k přihlášení a čtení vašeho profilu. Vyberte Přijmout. Zobrazí se následující snímek obrazovky, který označuje, že jste se přihlásili k aplikaci a že jste z rozhraní Microsoft Graph API přistupovali k podrobnostem profilu.
Spuštění projektu s webovým serverem pomocí Node.js:
Pokud chcete spustit server, spusťte v adresáři projektu následující příkazy:
cd react-spa/App
npm install
npm start
Zkopírujte https adresu URL, která se zobrazí v terminálu, například https://localhost:3000a vložte ji do prohlížeče. Doporučujeme použít soukromou nebo anonymní okno prohlížeče.
Postupujte podle pokynů a zadejte potřebné podrobnosti pro přihlášení pomocí účtu Microsoft. Požadujete e-mailovou adresu, aby vám bylo možné poslat jednorázové heslo. Po zobrazení výzvy zadejte kód.
Aplikace požaduje oprávnění k údržbě přístupu k datům, ke kterým jste jim udělili přístup, a k přihlášení a čtení profilu. Vyberte Přijmout. Zobrazí se následující snímek obrazovky, který označuje, že jste se přihlásili k aplikaci a že jste z rozhraní Microsoft Graph API přistupovali k podrobnostem profilu.
Spuštění projektu s webovým serverem pomocí Node.js:
Pokud chcete spustit server, spusťte v adresáři projektu následující příkazy:
cd angular-spa/App
npm install
npm start
Zkopírujte adresu URL https, která se zobrazí v terminálu, například https://localhost:4200, a vložte ji do adresního řádku prohlížeče. Doporučujeme použít soukromou nebo inkognito relaci prohlížeče.
Postupujte podle pokynů a zadejte potřebné podrobnosti pro přihlášení pomocí účtu Microsoft. Budete požádáni o e-mailovou adresu, aby vám bylo možné poslat jednorázové heslo. Po zobrazení výzvy zadejte kód.
Aplikace požádá o oprávnění k údržbě přístupu k datům, ke kterým jste jim udělili přístup, a k přihlášení a čtení vašeho profilu. Vyberte Přijmout. Zobrazí se následující snímek obrazovky, který označuje, že jste se přihlásili k aplikaci a že jste z rozhraní Microsoft Graph API přistupovali k podrobnostem profilu.
Spusťte projekt s webovým serverem pomocí dotnet:
Pokud chcete spustit server, spusťte v adresáři projektu následující příkazy:
cd spa-blazor-wasm
dotnet workload install wasm-tools
dotnet run
Zkopírujte http adresu URL, která se zobrazí v terminálu, například http://localhost:5000a vložte ji do prohlížeče. Doporučujeme použít soukromou nebo inkognito relaci prohlížeče.
Postupujte podle pokynů a zadejte potřebné podrobnosti pro přihlášení pomocí účtu Microsoft. Budete požádáni o e-mailovou adresu, aby vám bylo možné poslat jednorázové heslo. Po zobrazení výzvy zadejte kód.
Aplikace požádá o oprávnění k údržbě přístupu k datům, ke kterým jste jim udělili přístup, a k přihlášení a čtení vašeho profilu. Vyberte Přijmout. Zobrazí se následující snímek obrazovky, který označuje, že jste se přihlásili k aplikaci a že jste z rozhraní Microsoft Graph API přistupovali k podrobnostem profilu.
Aby vaše aplikace mohla přihlašovat uživatele pomocí Microsoft Entra, musí být Microsoft Entra External ID obeznámeno s aplikací, kterou vytvoříte. Registrace aplikace vytvoří vztah důvěryhodnosti mezi aplikací a Microsoft Entra. Když zaregistrujete aplikaci, externí ID vygeneruje jedinečný identifikátor označovaný jako ID aplikace (klient), což je hodnota použitá k identifikaci aplikace při vytváření žádostí o ověření.
Následující kroky ukazují, jak zaregistrovat aplikaci v Centru pro správu Microsoft Entra:
Pokud chcete zadat typ aplikace pro registraci aplikace, postupujte takto:
V části Spravovatvyberte Ověřování.
Na stránce konfigurace platformy vyberte možnost Přidat platformua pak vyberte možnost SPA.
Pro identifikátory URI přesměrování zadejte http://localhost:3000.
Výběrem Konfigurovat uložte změny.
Pokud chcete zadat typ aplikace pro registraci aplikace, postupujte takto:
V části Spravovatvyberte Ověřování.
Na stránce konfigurace platformy vyberte Přidat platformua pak vyberte možnost SPA.
Pro URI pro přesměrování do zadejte http://localhost:3000.
Pro uložení změn zvolte možnost Konfigurovat.
Pokud chcete zadat typ aplikace pro registraci aplikace, postupujte takto:
V části Spravovatvyberte Ověřování.
Na stránce konfigurace platformy vyberte Přidat platformua pak vyberte možnost SPA.
Pro identifikátory URI přesměrování zadejte http://localhost:4200.
Výběrem Konfigurovat uložte změny.
Udělení souhlasu správce
Po registraci aplikace se přiřadí oprávnění User.Read. Vzhledem k tomu, že je tenant externím tenantem, nemohou uživatelé zákazníka sami s tímto oprávněním souhlasit. Jako správce tenanta musíte souhlasit s tímto oprávněním jménem všech uživatelů v tenantovi:
Na stránce Registrace aplikací vyberte aplikaci, kterou jste vytvořili (například ciam-client-app), a otevřete tak její stránku Přehled.
V části Spravovatvyberte oprávnění rozhraní API.
Vyberte Udělit souhlas správce pro <název vašeho tenanta>a poté vyberte Ano.
Vyberte Aktualizovata ověřte, že uděleno <název vašeho tenanta> se zobrazí v části Stav oprávnění.
Vytvořte tok uživatele
Aby zákazníci viděli zkušenost registrace nebo přihlašování, když používají vaši aplikaci, musíte aplikaci přidružit k uživatelskému toku. I když k toku uživatele může být přidruženo mnoho aplikací, jedna aplikace může být přidružena pouze k jednomu toku uživatele.
V nabídce bočního panelu vyberte Identity.
Vyberte Externí identity, pak uživatelské toky.
Na stránce Toky uživatelů vyberte název toku uživatele, který jste vytvořili dříve, například SignInSignUpSample.
V části Použitívyberte Aplikace.
Vyberte Přidataplikace .
Vyberte aplikaci ze seznamu, například ciam-client-app nebo pomocí vyhledávacího pole vyhledejte aplikaci a pak ji vyberte.
Zvolte Vybrat.
Jakmile aplikaci přidružíte k toku uživatele, můžete tok uživatele otestovat simulací registrace nebo přihlašování uživatele k aplikaci z Centra pro správu Microsoft Entra. Chcete-li to provést, použijte postupy v otestujte tok uživatelské registrace a přihlášení.
Přiřaďte SPA k uživatelskému toku
Aby zákazníci viděli prostředí registrace nebo přihlášení při použití vaší aplikace, musíte aplikaci přidružit k uživatelskému toku. I když k toku uživatele může být přidruženo mnoho aplikací, jedna aplikace může být přidružena pouze k jednomu toku uživatele.
V nabídce bočního panelu vyberte Identity.
Vyberte Externí identity, potom Toky uživatelů.
Na stránce Toky uživatelů vyberte název toku uživatele, který jste vytvořili dříve, například SignInSignUpSample.
V části Pomocívyberte Aplikace.
Vyberte Přidat aplikaci.
Vyberte aplikaci ze seznamu, například ciam-client-app nebo pomocí vyhledávacího pole vyhledejte aplikaci a pak ji vyberte.
Zvolte Vybrat.
Jakmile aplikaci přidružíte k toku uživatele, můžete tok uživatele otestovat simulací registrace nebo přihlašování uživatele k aplikaci z Centra pro správu Microsoft Entra. Použijte postup uvedený v k otestování toku registrace a přihlášení.
Klonování nebo stažení ukázkové SPA
Pokud chcete získat ukázkovou aplikaci, můžete ji buď naklonovat z GitHubu, nebo si ji stáhnout jako soubor .zip.
Otevřete App/public/authConfig.js a nahraďte následující hodnoty hodnotami získanými z Centra pro správu Microsoft Entra:
Enter_the_Application_Id_Here a nahraďte ho ID aplikace (klienta), kterou jste zaregistrovali dříve.
Enter_the_Tenant_Subdomain_Here a nahraďte ji subdoménou Directory (tenant). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte název nájemce, zjistěte, jak si zobrazit podrobnosti o nájemci.
Uložte soubor.
Otevřete SPA\src\authConfig.js a nahraďte následující hodnoty hodnotami získanými z Centra pro správu Microsoft Entra:
Enter_the_Application_Id_Here, a nahraďte ho ID aplikace (klienta), kterou jste zaregistrovali dříve.
Enter_the_Tenant_Subdomain_Here a nahraďte tuto hodnotu subdoménou adresáře (nájemce). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte název tenanta, přečtěte si, jak přečíst podrobnosti o tenantovi.
Uložte soubor.
Otevřete SPA/src/app/auth-config.ts a nahraďte následující hodnoty hodnotami získanými z Centra pro správu Microsoft Entra:
Enter_the_Application_Id_Here a nahraďte ho ID aplikace (klienta) té aplikace, kterou jste zaregistrovali dříve.
Enter_the_Tenant_Subdomain_Here a nahraďte ji subdoménou nájemce (adresáře). Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte jméno tenanta, zjistěte, jak získat podrobnosti o tenantovi .
Pokud chcete spustit server, spusťte v adresáři projektu následující příkazy:
cd 1-Authentication\0-sign-in-vanillajs\App
npm install
npm start
Zkopírujte https adresu URL, která se zobrazí v terminálu, například https://localhost:3000a vložte ji do prohlížeče. Doporučujeme použít soukromou nebo anonymní relaci (režim) prohlížeče.
Přihlaste se pomocí účtu zaregistrovaného u klienta.
Zobrazí se následující snímek obrazovky, který označuje, že jste se přihlásili k aplikaci a že jste z rozhraní Microsoft Graph API přistupovali k podrobnostem profilu.
Pokud chcete spustit server, spusťte v adresáři projektu následující příkazy:
cd 1-Authentication\1-sign-in-react\SPA
npm install
npm start
Zkopírujte https adresu URL, která se zobrazí v terminálu, například https://localhost:3000a vložte ji do prohlížeče. Doporučujeme použít soukromou relaci nebo anonymní režim prohlížeče.
Přihlaste se s pomocí účtu zaregistrovaného u externího nájemce.
Zobrazí se následující snímek obrazovky, který označuje, že jste se přihlásili k aplikaci a že jste z rozhraní Microsoft Graph API přistupovali k podrobnostem profilu.
Pokud chcete spustit server, spusťte v adresáři projektu následující příkazy:
cd 1-Authentication\2-sign-in-angular\SPA
npm install
npm start
Zkopírujte https adresu URL, která se zobrazí v terminálu, například https://localhost:4200a vložte ji do prohlížeče. Doporučujeme použít soukromou nebo inkognito relaci prohlížeče.
Přihlaste se pomocí účtu zaregistrovaného do externího tenanta.
Zobrazí se následující snímek obrazovky, který označuje, že jste se přihlásili k aplikaci a že jste z rozhraní Microsoft Graph API přistupovali k podrobnostem profilu.
Odhlásit se z aplikace
Najděte na stránce tlačítko Odhlásit se a vyberte ho.
Zobrazí se výzva k výběru účtu, ze který se chcete odhlásit. Vyberte účet, který jste použili k přihlášení.
Zobrazí se zpráva s oznámením, že jste se odhlásili. Teď můžete okno prohlížeče zavřít.