Bosch Tcg4104 to inteligentny toster z funkcją szybkiego startu, który pozwala na szybsze i łatwiejsze przygotowanie pysznych tostów. Urządzenie wyposażone jest w wyświetlacz LCD, który pozwala na nawigację po menu i ustawienie czasu przygotowywania tostów. Możesz wybrać, czy chcesz, aby tosty były ciemne, czy jasne, a także wybrać typ tostów, które chcesz przygotować. Urządzenie jest również wyposażone w funkcję automatycznego wyłączania, która pozwala na zapobieganie przypaleniu tostów, a także wygodny uchwyt do wyjmowania tostów, co pozwala na łatwiejszy transport.
Ostatnia aktualizacja: Szybki start i informacje Bosch Tcg4104
Najlepsze opinie o produkcie z Polski
0 dostępnych opinii o produkcie oraz 0 ocen/y produktu z Polski
Najlepsze opinie o produkcie
5, 0 z 5 gwiazdekOttime funzionalità. Molto silenziosa. Solo un difetto...
Zrecenzowano we Włoszech 🇮🇹 na 4 października 2021
Cercavo in modo specifico una lavastoviglie con il terzo cestello per le posate, in quanto già in passato mi ci ero trovato bene, e con l'apertura automatica della porta a fine ciclo. Vediamo nel dettaglio PRO e CONTRO PRO CONTRO In conclusione è un'ottima lavastoviglie con funzionalità avanzate e peculiari... solo da comprare con qualche offerta perchè il prezzo pieno è troppo elevato
Anche la mia precedente era una Bosch e ho deciso di prendere la stessa marca, con, ovviamente, determinati "ammodernamenti"... alcuni utili altri meno
- Apertura automatica della porta una volta terminato il programma, cosa che ritengo fondamentale in quanto consente una asciugatura perfetta delle stoviglie anche quando (pensate di notte) non si può aprire manualmente lo sportello
- Invece della (banale) classica luce rossa proiettata sul pavimento, per indicare che il processo è in corso, qui abbiamo una vera proiezione di informazioni utili, come la durata rimanente del ciclo, in che fase siamo (risciacquo, lavaggio, asciugatura etc... )... se ne può fare anche a meno, intendiamoci... però fa molto figo;)
- Terzo ripiano per le posate, cosa che può piacere o meno, ma io lo adoro, così sul cestello inferiore si ha molto più spazio
- Cestello intermedio regolabile in altezza su due livelli
- Sul cestello intermedio troviamo degli "spruzzi" aggiuntivi in caso necessitassimo di una pulizia profonda di alcune stoviglie
- Protezioni in silicone sul cestello intermedio per i "vetri" e cristalli, così da evitare rotture accidentali
- Molto silenziosa, ci si dimentica di averla accesa
- Funzioni smart con app dedicata. Si può avviare e scegliere il programma migliore anche da smartphone e da remoto (non molto utile effettivamente)
A parte il costo che secondo me è un po' alto (però parliamo di una lavastoviglie parecchio ricercata), solo un contro in realtà, non esiste una vero e proprio pulsante per fare il solo risciacquo, infatti esso si può attivare premendo il tasto a forma di stella (cioè quello del programma preferito), ma se si vuole personalizzare il pulsante, registrando il programma preferito, si perde la possibilità di avere il pulsante per il solo risciacquo, cosa che costringe ad avviarlo da smartphone. Quindi il pulsante per registrare il programma favorito è, all'atto pratico, totalmente inutile... mettere un pulsante in più no?
5, 0 z 5 gwiazdekOttime funzionalità. Solo un difetto...
Zrecenzowano we Włoszech 🇮🇹 na 4 października 2021
Cercavo in modo specifico una lavastoviglie con il terzo cestello per le posate, in quanto già in passato mi ci ero trovato bene, e con l'apertura automatica della porta a fine ciclo. solo da comprare con qualche offerta perchè il prezzo pieno è troppo elevato
Obrazy w tej opinii5, 0 z 5 gwiazdekBOSCH ma quella Tedesca..
Zrecenzowano we Włoszech 🇮🇹 na 8 sierpnia 2022
Nie można załadować treści. Ho scoperto parlando con tecnico riparatore che esistono 2 versioni di lavastoviglie Bosch quelle intorno ai 400€ con vasca i plastica fatte in Turchia ed adatte ad un uso sporadico che quando si rompono non conviene riparare e poi quelle fatte in Germania dai 700€ in su con vasca Inox che prima di 10/12 anni non danno problemi, adatte ad uso intensivo 2 volte al giorno e che cmq si possono sempre riparare...
5, 0 z 5 gwiazdekPerfetta
Zrecenzowano we Włoszech 🇮🇹 na 3 sierpnia 2022
Do 5 stelle ma il suo punto debole è la app.... praticamente inutile per quanto è complessa, lasciate stare, la Bosch dovrebbe svilupparne una tutta sua e non credo che questa lo sia. Quindi si paga un accessorio che, personalmente, trovo impossibile da utilizzare. È estremamente silenziosa ed è. molto comodo il display luminoso che si riflette sul pavimento. Mentre lava, indica il tempo residuo per il fine lavaggio. Nella programmazione ritardata, indica il count down. Per ora lava molto bene. I cestelli sono molto flessibili, nel senso che potete regolarli come volete, e anche abbassare o rialzare le griglie a seconda del tipo di stoviglie che inserite. Non mi piace molto l' alloggio della pastiglia perché per chiuderla necessità di una pressione con il dito e non sempre è efficace, bisogna un po' farci la mano. È facile smontare le pale e il filtro per la consueta pulizia. Direi che, solo per quanto è silenziosa, andrebbe acquistata. Ma non fate fede alla App, è proprio inutile
5, 0 z 5 gwiazdekOttima lavastoviglie
Zrecenzowano we Włoszech 🇮🇹 na 23 listopada 2021
Dopo una pessima esperienza con marca concorrente (Whirpool del 2016) leggo delle ottime opinioni su questa macchina.
Arrivata ben imballata e rispettando i tempi, installata personalmente un sabato mattina, ha superato le aspettative.
Abituato ad avere una mietitrebbia in casa, questa lavastoviglie è estremamente silenziosa, quasi non avvertibile durante il funzionamento.
Ottima la modularità dei cestelli, davvero comoda la possibilità di abbattere i supporti per le pentole/padelle o grandi stoviglie. Ottimo il vassoio per le posate, rispetto al classico cestino mi piace parecchio di più. Il cestello centrale si può regolare addirittura su 3 altezze, rifinito bene con addirittura 2 profili in gomma per evitare che i bicchieri possano scivolare.
La proiezione del tempo residuo sul pavimento pensavo fosse una cosa inutile invece è comoda. Ottima anche l'interfaccia con l'applicazione Bosch Home Connect per configurare e avviare i programmi.
La funzione che preferisco però è sicuramente l'apertura automatica a fine ciclo: di base presente sul programma "eco" si può anche attivare per altri programmi: una comodità unica, assieme all'avvio ritardato programmabile (dall'app si vede anche l'ora a cui finisce il ciclo di lavaggio) sono assieme perfetti.
Spero che affidabilità e durata nel tempo siano all'altezza del resto della macchina.
4, 0 z 5 gwiazdekLavastoviglie Bosch SMV6ECX63E
Zrecenzowano we Włoszech 🇮🇹 na 12 sierpnia 2022
Ottima lavastoviglie, silenziosa e performante anche nei programmi di breve durata (30 minuti). PRO
Ci ha sorpreso la lucentezza delle pentole e dei bicchieri ed il livello di rumorosità, ben al di sotto della nostra precedente lavastoviglie Rex Tekna. Comoda la proiezione sul pavimento della durata del programma e del tempo rimanente.
CONTRO il foglio di istruzioni per il montaggio, molto poco comprensibile in particolare per quanto concerne il montaggio della porta esterna.
Poco chiara la tipologia di consegna che viene presentata al piano ma che non corrisponde poi a quanto riportato sul foglio consegna dei corrieri (verificato). Fortunatamente comprendendo la mia difficoltà il corriere si è prestato a portarla fino in casa rifiutando ogni tipo di mancia. Sicuramente negativo il ritiro (RAEE) della vecchia lavastoviglie in quanto essendo mal guidata la richiesta di acquisto abbiamo dovuto richiederla sul portale Amazon con prelievo successivo (oltre una settimana).
IN DEFINITIVA
Prodotto di ottima qualità con un buon rapporto qualità/prezzo, non meritevole del massimo punteggio per la parte logistica che ci ha sorpreso negativamente per i ritardi e le informazioni non coerenti negli ultimi acquisti, anche precedenti e, purtroppo successivi, a quello della lavastoviglie.
Ta przeglądarka nie jest już obsługiwana.
Przejdź na przeglądarkę Microsoft Edge, aby korzystać z najnowszych funkcji, aktualizacji zabezpieczeń i pomocy technicznej.
- Artykuł
- Czas czytania: 21 min
Poniższy przewodnik Szybki start używa przykładowego kodu, aby zademonstrować, jak aplikacja konsolowa platformy. NET Core może uzyskać token dostępu do wywołania Microsoft interfejs Graph API i wyświetlić listę użytkowników w katalogu. Pokazuje również, jak zadanie lub usługa systemu Windows może być uruchamiana przy użyciu tożsamości aplikacji, zamiast tożsamości użytkownika. Przykładowa aplikacja konsolowa w tym przewodniku Szybki start jest również aplikacją demona, dlatego jest to poufne aplikacje klienckie.
Na poniższym diagramie pokazano, jak działa przykładowa aplikacja:
Wymagania wstępne
Ten przewodnik Szybki start wymaga zestawu . NET Core 6. 0 SDK.
Rejestrowanie i pobieranie aplikacji
Aplikację można skompilować przy użyciu konfiguracji automatycznej lub ręcznej.
Konfiguracja automatyczna
Aby zarejestrować i automatycznie skonfigurować aplikację, a następnie pobrać przykładowy kod, wykonaj następujące kroki:
- Przejdź do strony Azure Portal rejestracji aplikacji.
- Wprowadź nazwę aplikacji i wybierz pozycję Zarejestruj.
- Postępuj zgodnie z instrukcjami, aby pobrać i automatycznie skonfigurować nową aplikację w jednym kliknięciu.
Konfiguracja ręczna
Aby ręcznie skonfigurować aplikację i przykład kodu, skorzystaj z poniższych procedur.
Krok 1. Rejestrowanie aplikacji
Aby zarejestrować aplikację i dodać informacje dotyczące rejestracji do rozwiązania ręcznie, wykonaj następujące kroki:
Krok 2. Pobieranie projektu programu Visual Studio
Pobierz projekt programu Visual Studio
Ten projekt można uruchomić w programie Visual Studio lub Visual Studio dla komputerów Mac i można go pobrać z przykładu kodu.
Porada
Aby uniknąć błędów spowodowanych ograniczeniami długości ścieżki w systemie Windows, zalecamy wyodrębnienie archiwum lub sklonowanie repozytorium do katalogu w pobliżu katalogu głównego dysku.
Krok 3. Konfigurowanie projektu programu Visual Studio
Wyodrębnij plik . zip do folderu lokalnego, który znajduje się blisko katalogu głównego dysku, aby uniknąć błędów spowodowanych ograniczeniami długości ścieżki w systemie Windows. Na przykład wyodrębnij do folderu C:\Azure-Samples.
Otwórz rozwiązanie w programie Visual Studio: 1-Call-MSGraph\daemon-console. sln (opcjonalnie).
W pliku appsettings. json zastąp wartości Tenant
, ClientId
i ClientSecret
. Wartość identyfikatora aplikacji (klienta) i identyfikatora katalogu (dzierżawy) można znaleźć na stronie Przegląd aplikacji na Azure Portal.
"Tenant": "Enter_the_Tenant_Id_Here","ClientId": "Enter_the_Application_Id_Here","ClientSecret": "Enter_the_Client_Secret_Here"
W kodzie:
Enter_the_Application_Id_Here
to identyfikator aplikacji (klienta) zarejestrowanej aplikacji.- Zastąp
Enter_the_Tenant_Id_Here
ciąg identyfikatorem dzierżawy lub nazwą dzierżawy (na przykładcontoso. com
). - Zastąp element
Enter_the_Client_Secret_Here
kluczem tajnym klienta utworzonym w kroku 1.Aby wygenerować nowy klucz, przejdź do strony Certyfikaty & wpisów tajnych.
Krok 4. Zgoda administratora
Uruchomienie aplikacji powoduje teraz wyświetlenie danych wyjściowych HTTP 403 - Forbidden* error: "Insufficient privileges to complete the operation
. Ten błąd występuje, ponieważ każde uprawnienie tylko do aplikacji wymaga administratora globalnego katalogu, aby wyrazić zgodę na aplikację. Wybierz jedną z następujących opcji, w zależności od roli.
Administrator globalny dzierżawy
W przypadku administratora globalnej dzierżawy przejdź do pozycji Aplikacje dla przedsiębiorstw w Azure Portal. Wybierz rejestrację aplikacji i wybierz pozycję Uprawnienia w sekcji Zabezpieczenia w okienku po lewej stronie. Następnie wybierz duży przycisk z etykietą Udziel zgody administratora dla {Nazwa dzierżawy} (gdzie {Nazwa dzierżawy} jest nazwą katalogu).
Użytkownik standardowy
W przypadku użytkownika standardowego dzierżawy poproś administratora globalnego o udzielenie zgody administratora aplikacji. W tym celu podaj następujący adres URL administratorowi:
https://login. microsoftonline. com/Enter_the_Tenant_Id_Here/adminconsent? client_id=Enter_the_Application_Id_HereW adresie URL:
Błąd AADSTS50011: No reply address is registered for the application
może być wyświetlany po udzieleniu zgody aplikacji przy użyciu poprzedniego adresu URL. Ten błąd występuje, ponieważ aplikacja i adres URL nie mają identyfikatora URI przekierowania. Możesz go zignorować.
Krok 5. Uruchomienie aplikacji
W programie Visual Studio naciśnij klawisz F5, aby uruchomić aplikację. W przeciwnym razie uruchom aplikację za pomocą wiersza polecenia, konsoli lub terminalu:
cd {ProjectFolder}\1-Call-MSGraph\daemon-consoledotnet runW tym kodzie:
{ProjectFolder}
to folder, w którym wyodrębniono plik. zip. Może to być na przykład C:\Azure-Samples\active-directory-dotnetcore-daemon-v2
. W rezultacie powinna zostać wyświetlona lista użytkowników w usłudze Azure Active Directory.
Ta aplikacja Szybki start używa klucza tajnego klienta do identyfikowania się jako poufnego klienta. Klucz tajny klienta jest dodawany jako plik zwykłego tekstu do plików projektu. Ze względów bezpieczeństwa zaleca się użycie certyfikatu zamiast klucza tajnego klienta przed rozważeniem aplikacji jako aplikacji produkcyjnej. Aby uzyskać więcej informacji na temat używania certyfikatu, zobacz te instrukcje.
Więcej informacji
Ta sekcja zawiera omówienie kodu wymaganego do logowania użytkowników. Omówienie może być przydatne, aby zrozumieć, jak działa kod, jakie są główne argumenty i jak dodać logowanie do istniejącej aplikacji konsolowej platformy. NET Core.
MSAL. NET
Microsoft Biblioteka uwierzytelniania (MSAL, w Microsoft. Pakiet Identity. Client) to biblioteka używana do logowania użytkowników i żądania tokenów dostępu do interfejsu API chronionego przez Platforma tożsamości Microsoft. Ten przewodnik Szybki start żąda tokenów przy użyciu własnej tożsamości aplikacji zamiast uprawnień delegowanych. Przepływ uwierzytelniania w tym przypadku jest nazywany przepływem OAuth poświadczeń klienta. Aby uzyskać więcej informacji na temat używania MSAL. NET z przepływem poświadczeń klienta, zobacz ten artykuł.
MSAL. NET można zainstalować, uruchamiając następujące polecenie w konsoli menedżera pakietów programu Visual Studio:
dotnet add package Microsoft. ClientInicjowanie biblioteki MSAL
Dodaj odwołanie do biblioteki MSAL, dodając następujący kod:
using Microsoft. Client;Następnie zainicjuj bibliotekę MSAL następującymi elementami:
IConfidentialClientApplication app;app = ConfidentialClientApplicationBuilder. Create(config. ClientId). WithClientSecret(config. ClientSecret). WithAuthority(new Uri(config. Authority)). Build();Element Opis config. ClientSecret
Wpis tajny klienta utworzony dla aplikacji w Azure Portal. config. ClientId
Identyfikator aplikacji (klienta) dla aplikacji zarejestrowanej w Azure Portal. Tę wartość można znaleźć na stronie Przegląd aplikacji w Azure Portal. Authority (Opcjonalnie) Punkt końcowy usługi tokenu zabezpieczającego (STS) dla użytkownika w celu uwierzytelnienia. Zwykle jest https://login. com/{tenant}
to chmura publiczna, gdzie {tenant}
jest nazwą dzierżawy lub identyfikatorem dzierżawy.
Aby uzyskać więcej informacji, zobacz dokumentację referencyjną dla ConfidentialClientApplication
programu.
Przesyłanie żądań tokenów
Aby zażądać tokenu przy użyciu tożsamości aplikacji, użyj AcquireTokenForClient
metody:
result = await app. AcquireTokenForClient(scopes). ExecuteAsync();scopes
Zawiera żądane zakresy. W przypadku klientów poufnych ta wartość powinna używać formatu podobnego do {Application ID URI}/. default
. Ten format wskazuje, że żądane zakresy to te, które są statycznie zdefiniowane w obiekcie aplikacji ustawionym w Azure Portal. W przypadku programu Microsoft Graph {Application ID URI}
wskazuje wartość https://graph. com
. W przypadku niestandardowych internetowych interfejsów {Application ID URI}
API w Azure Portal w obszarze Rejestracja aplikacji (wersja zapoznawcza)>Uwidacznianie interfejsu API. Aby uzyskać więcej informacji, zobacz dokumentację referencyjną dotyczącą programu AcquireTokenForClient
.
Pomoc i obsługa techniczna
Jeśli potrzebujesz pomocy, chcesz zgłosić problem lub poznać opcje pomocy technicznej, zobacz Pomoc i obsługa techniczna dla deweloperów.
Następne kroki
Aby dowiedzieć się więcej na temat aplikacji demona, zobacz omówienie scenariusza:
W tym przewodniku Szybki start pobierzesz i uruchomisz przykładowy kod, który pokazuje, jak aplikacja w języku Python może uzyskać token dostępu przy użyciu tożsamości aplikacji w celu wywołania Microsoft interfejs Graph API i wyświetlenia listy użytkowników w katalogu. Przykładowy kod przedstawia sposób uruchamiania zadania nienadzorowanego lub usługi systemu Windows przy użyciu tożsamości aplikacji zamiast tożsamości użytkownika.
Do uruchomienia tego przykładu potrzebne są następujące elementy:
Python 2. 7+ lub Python 3+ MSAL Python Rejestrowanie i pobieranie aplikacji Szybki start
Aby ręcznie zarejestrować aplikację i dodać informacje na temat rejestracji aplikacji do rozwiązania, wykonaj następujące czynności:
Jeśli masz dostęp do wielu dzierżaw, użyj filtru Katalogi i subskrypcje w górnym menu, aby przełączyć się do dzierżawy, w której chcesz zarejestrować aplikację. W obszarze Zarządzaj wybierz pozycję Rejestracje aplikacji>Nowa rejestracja. Wprowadź nazwę aplikacji, na przykład Daemon-console
. Użytkownicy twojej aplikacji mogą zobaczyć tę nazwę i możesz ją zmienić później. Wybierz pozycję Zarejestruj. W obszarze Zarządzanie wybierz pozycję Wpisy tajne certyfikatów&. W obszarze Wpisy tajne klienta wybierz pozycję Nowy klucz tajny klienta, wprowadź nazwę, a następnie wybierz pozycję Dodaj. Zapisz wartość wpisu tajnego w bezpiecznej lokalizacji do użycia w późniejszym kroku. Krok 2. Pobieranie projektu języka Python
Pobieranie projektu demona języka Python
Krok 3. Konfigurowanie projektu języka Python
Wyodrębnij plik zip do folderu lokalnego blisko folderu głównego dysku, na przykład C:\Azure-Samples.
Przejdź do podfolderu 1-Call-MsGraph-WithSecret.
Edytuj plik parameters. json i zastąp wartości pól authority
, client_id
i secret
następującym fragmentem kodu:
"authority": "https://login. com/Enter_the_Tenant_Id_Here","client_id": "Enter_the_Application_Id_Here","secret": "Enter_the_Client_Secret_Here"Gdzie:
Enter_the_Application_Id_Here
jest identyfikatorem aplikacji (klienta) dla zarejestrowanej aplikacji. Enter_the_Tenant_Id_Here
— zastąp tę wartość wartością Identyfikator dzierżawy lub Nazwa dzierżawy (na przykład contoso. com)Enter_the_Client_Secret_Here
— zastąp tę wartość kluczem tajnym klienta utworzonym w kroku 1. Aby znaleźć wartości Identyfikator aplikacji (klienta), Identyfikator katalogu (dzierżawy), przejdź do strony Przegląd aplikacji w witrynie Azure Portal. Aby wygenerować nowy klucz, przejdź do strony Wpisy tajne certyfikatów&.
Jeśli spróbujesz uruchomić aplikację w tym momencie, zostanie wyświetlony błąd HTTP 403 — Zabronione: Insufficient privileges to complete the operation
. Ten błąd występuje, ponieważ każde uprawnienie tylko do aplikacji wymaga Administracja zgody: administrator globalny katalogu musi wyrazić zgodę na aplikację. Wybierz jedną z poniższych opcji w zależności od roli:
Jeśli jesteś administratorem dzierżawy globalnej, przejdź do strony Uprawnienia interfejsu API w Rejestracje aplikacji w Azure Portal i wybierz pozycję Udziel zgody administratora dla {Nazwa dzierżawy} (gdzie {Nazwa dzierżawy} jest nazwą katalogu).
Jeśli jesteś użytkownikiem standardowym dzierżawy, poproś administratora globalnego o udzielenie zgody administratora dla aplikacji. Aby to zrobić, udostępnij administratorowi następujący adres URL:
Należy zainstalować zależności tego przykładu raz.
pip install -r requirements. txtNastępnie uruchom aplikację za pomocą wiersza polecenia lub konsoli:
python confidential_client_secret_sample. py parameters. jsonW konsoli powinien zostać wyświetlony fragment kodu JSON reprezentujący listę użytkowników w katalogu Azure AD.
Ważne
Aplikacja w tym przewodniku Szybki start używa klucza tajnego klienta do identyfikowania się jako klienta poufnego. Ponieważ klucz tajny klienta jest dodawany jako zwykły tekst w plikach projektu, ze względów bezpieczeństwa zaleca się używanie certyfikatu zamiast klucza tajnego klienta, zanim będzie można uznać aplikację za produkcyjną. com/Azure-Samples/ms-identity-python-daemon/blob/master/2-Call-MsGraph-WithCertificate/README. md" data-linktype="external">te instrukcje w tym samym repozytorium GitHub dla tego przykładu, ale w drugim folderze 2-Call-MsGraph-WithCertificate.
MSAL Python
MsAL Python to biblioteka używana do logowania użytkowników i żądania tokenów używanych do uzyskiwania dostępu do interfejsu API chronionego przez Platforma tożsamości Microsoft. Jak opisano, ten przewodnik Szybki start żąda tokenów przy użyciu własnej tożsamości aplikacji zamiast uprawnień delegowanych. W tym przypadku przepływ uwierzytelniania jest określany jako przepływ OAuth poświadczeń klienta. Aby uzyskać więcej informacji na temat używania biblioteki MSAL Python z aplikacjami demona, zobacz ten artykuł.
Język Python biblioteki MSAL można zainstalować, uruchamiając następujące polecenie pip.
pip install msalAby dodać odwołanie do biblioteki MSAL, dodaj następujący kod:
import msalNastępnie zainicjuj bibliotekę MSAL, używając następującego kodu:
app = msal. ConfidentialClientApplication(config["client_id"], authority=config["authority"],client_credential=config["secret"])Gdzie: config["secret"]
Czy klucz tajny klienta jest tworzony dla aplikacji w Azure Portal. config["client_id"]
Jest identyfikatorem aplikacji (klienta) dla aplikacji zarejestrowanej w witrynie Azure Portal. Tę wartość można znaleźć na stronie Przegląd aplikacji w witrynie Azure Portal. config["authority"]
Punkt końcowy usługi STS na potrzeby uwierzytelnienia użytkownika. W chmurze publicznej jest to zwykle https://login. com/{tenant}
, gdzie {tenant} jest nazwą dzierżawy lub identyfikatorem dzierżawy.
Aby uzyskać więcej informacji, zobacz dokumentację referencyjną dotyczącą programu ConfidentialClientApplication
.
Aby zażądać tokenu przy użyciu tożsamości aplikacji, należy użyć metody AcquireTokenForClient
:
result = Noneresult = app. acquire_token_silent(config["scope"], account=None)if not result:logging. info("No suitable token exists in cache. Let's get a new one from AAD. ")result = app. acquire_token_for_client(scopes=config["scope"])config["scope"]
Zawiera żądane zakresy. W przypadku klientów poufnych należy użyć formatu podobnego do {Application ID URI}/. default
wskazującego, że żądane zakresy są statycznie zdefiniowane w obiekcie aplikacji ustawionym w Azure Portal (w przypadku programu Microsoft Graph {Application ID URI}
wskazuje wartość https://graph. W przypadku niestandardowych internetowych interfejsów {Application ID URI}
API w sekcji Uwidaczniaj interfejs API w Rejestracje aplikacji w Azure Portal.
Aby uzyskać więcej informacji, zobacz dokumentację referencyjną dotyczącą programu AcquireTokenForClient
.
Aby dowiedzieć się więcej na temat aplikacji demona, zobacz stronę docelową scenariusza.
W tym przewodniku Szybki start pobierzesz i uruchomisz przykładowy kod, który pokazuje, jak aplikacja konsolowa Node. js może uzyskać token dostępu przy użyciu tożsamości aplikacji w celu wywołania Microsoft interfejs Graph API i wyświetlenia
W tym przewodniku Szybki start użyto biblioteki uwierzytelniania Microsoft dla Node. js (MSAL Node) z udzieleniem poświadczeń klienta.
Node. js Visual Studio Code lub inny edytor kodu Rejestrowanie i pobieranie przykładowej aplikacji
Wykonaj poniższe kroki, aby rozpocząć pracę.
Krok 1. Rejestrowanie aplikacji
Wprowadź nazwę aplikacji, na przykład msal-node-cli
. Użytkownicy aplikacji mogą zobaczyć tę nazwę i później ją zmienić. W obszarze Węzeł Użytkownik wybierz pozycję User. Krok 2. Pobieranie przykładowego projektu Node. js
Pobieranie przykładu kodu
Krok 3. Konfigurowanie przykładowego projektu Node. js
Wyodrębnij plik zip do folderu lokalnego w pobliżu katalogu głównego dysku, na przykład C:/Azure-Samples. Zmodyfikuj plik env i zastąp wartości pól TENANT_ID
, CLIENT_ID
i CLIENT_SECRET
następującym fragmentem kodu: "TENANT_ID": "Enter_the_Tenant_Id_Here","CLIENT_ID": "Enter_the_Application_Id_Here","CLIENT_SECRET": "Enter_the_Client_Secret_Here"Enter_the_Application_Id_Here
— to identyfikator aplikacji (klienta) zarejestrowanej wcześniej aplikacji. Znajdź ten identyfikator w okienku Przegląd rejestracji aplikacji w Azure Portal. Enter_the_Tenant_Id_Here
— zastąp tę wartość identyfikatorem dzierżawy lub nazwą dzierżawy (na przykład contoso. com). Znajdź te wartości w okienku Przegląd rejestracji aplikacji w Azure Portal. Enter_the_Client_Secret_Here
— zastąp tę wartość utworzonym wcześniej wpisem tajnym klienta. Aby wygenerować nowy klucz, użyj wpisów tajnych certyfikatów & w ustawieniach rejestracji aplikacji w Azure Portal. Użycie wpisu tajnego w postaci zwykłego tekstu w kodzie źródłowym stanowi zwiększone ryzyko bezpieczeństwa aplikacji. Chociaż przykład w tym przewodniku Szybki start używa wpisu tajnego klienta zwykłego tekstu, jest to tylko dla uproszczenia. Zalecamy używanie poświadczeń certyfikatu zamiast wpisów tajnych klienta w poufnych aplikacjach klienckich, zwłaszcza tych aplikacji, które mają zostać wdrożone w środowisku produkcyjnym.
- Zmodyfikuj plik env i zastąp punkty końcowe Azure AD i Microsoft Graph następującymi wartościami:
- W przypadku punktu końcowego Azure AD zastąp ciąg
Enter_the_Cloud_Instance_Id_Here
. https://login. com
- W przypadku punktu końcowego programu Microsoft Graph zastąp ciąg
Enter_the_Graph_Endpoint_Here
. https://graph. com/
Jeśli spróbujesz uruchomić aplikację w tym momencie, zostanie wyświetlony błąd HTTP 403 — Zabronione: Insufficient privileges to complete the operation
. Ten błąd występuje, ponieważ każde uprawnienie tylko do aplikacji wymaga zgody administratora: administrator globalny katalogu musi wyrazić zgodę na twoją aplikację. Wybierz jedną z poniższych opcji w zależności od roli:
Jeśli jesteś administratorem globalnej dzierżawy, przejdź do strony Uprawnienia interfejsu API w rejestracji aplikacji Azure Portal i wybierz pozycję Udziel zgody administratora dla {Nazwa dzierżawy} (gdzie {Nazwa dzierżawy} jest nazwą katalogu).
Jeśli jesteś użytkownikiem standardowym dzierżawy, musisz poprosić administratora globalnego o udzielenie zgody administratora dla aplikacji. Aby to zrobić, udostępnij administratorowi następujący adres URL:
Znajdź folder główny przykładu (gdzie package. json
znajduje się) w wierszu polecenia lub konsoli. Przed pierwszym uruchomieniem aplikacji należy zainstalować zależności wymagane przez przykładową aplikację:
npm installnode. --op getUsersW konsoli powinny zostać wyświetlone dane wyjściowe fragmentu JSON reprezentującego listę użytkowników w katalogu Azure AD.
Informacje o kodzie
Poniżej omówiono niektóre ważne aspekty przykładowej aplikacji.
Węzeł MSAL
Biblioteka MSAL Node jest biblioteką służącą do logowania użytkowników i żądań tokenów używanych do uzyskiwania dostępu do interfejsu API chronionego przez Platforma tożsamości Microsoft. Zgodnie z opisem ten przewodnik Szybki start żąda tokenów według uprawnień aplikacji (przy użyciu własnej tożsamości aplikacji) zamiast uprawnień delegowanych. Przepływ uwierzytelniania używany w tym przypadku jest nazywany przepływem poświadczeń klienta OAuth 2. 0. Aby uzyskać więcej informacji na temat używania środowiska MSAL Node z aplikacjami demona, zobacz Scenariusz: aplikacja demona.
Węzeł MSAL można zainstalować, uruchamiając następujące polecenie npm.
npm install @azure/msal-node --saveconst msal = require('@azure/msal-node');const msalConfig = {auth: {clientId: "Enter_the_Application_Id_Here",authority: "https://login. com/Enter_the_Tenant_Id_Here",clientSecret: "Enter_the_Client_Secret_Here", }};const cca = new msal. ConfidentialClientApplication(msalConfig);clientId
authority
Punkt końcowy usługi STS na potrzeby uwierzytelnienia użytkownika. Zwykle https://login. com/{tenant}
w przypadku chmury publicznej, gdzie {tenant} jest nazwą dzierżawy lub identyfikatorem dzierżawy. clientSecret
Więcej informacji można znaleźć w dokumentacji dotyczącej metody ConfidentialClientApplication
Aby zażądać tokenu przy użyciu tożsamości aplikacji, należy użyć metody acquireTokenByClientCredential
:
const tokenRequest = {scopes: [ 'https://graph. com/. default'], };const tokenResponse = await cca. acquireTokenByClientCredential(tokenRequest);tokenRequest
Zawiera żądane zakresy. W przypadku niestandardowych internetowych interfejsów {Application ID URI}
API jest definiowana w sekcji Uwidacznianie interfejsu API w rejestracji aplikacji Azure Portal. tokenResponse
Odpowiedź zawiera token dostępu dla żądanych zakresów. Aby dowiedzieć się więcej na temat tworzenia aplikacji demona/konsoli za pomocą biblioteki MSAL Node, zobacz samouczek:
W tym przewodniku Szybki start pobierzesz i uruchomisz przykładowy kod, który pokazuje, jak aplikacja Java może uzyskać token dostępu przy użyciu tożsamości aplikacji w celu wywołania Microsoft interfejs Graph API i wyświetlenia
Aby uruchomić ten przykład, potrzebne są następujące elementy:
- Zestaw Java Development Kit (JDK) 8 lub nowszy
- Maven
Masz dwie opcje uruchamiania aplikacji Szybki start: Express (opcja 1 poniżej) i Manual (Opcja 2)
Opcja 1. Zarejestrowanie i automatyczne skonfigurowanie aplikacji, a następnie pobranie przykładowego kodu
- Przejdź do środowiska szybki start Azure Portal — Rejestracje aplikacji.
- Postępuj zgodnie z instrukcjami, aby pobrać i automatycznie skonfigurować nową aplikację za pomocą tylko jednego kliknięcia.
Opcja 2. Zarejestrowanie i ręczne skonfigurowanie aplikacji oraz przykładowego kodu
- Wprowadź nazwę aplikacji, na przykład
Daemon-console
. Krok 2. Pobieranie projektu Java
Pobieranie projektu demona Java
Krok 3. Konfigurowanie projektu Java
- Wyodrębnij plik zip do folderu lokalnego blisko folderu głównego dysku, na przykład C:\Azure-Samples.
- Przejdź do folderu podrzędnego msal-client-credential-secret.
- Edytuj plik src\main\resources\application. properties i zastąp wartości pól
AUTHORITY
, CLIENT_ID
i SECRET
następującym fragmentem kodu: AUTHORITY=https://login. com/Enter_the_Tenant_Id_Here/CLIENT_ID=Enter_the_Application_Id_HereSECRET=Enter_the_Client_Secret_HereEnter_the_Tenant_Id_Here
— zastąp tę wartość identyfikatorem dzierżawy lub nazwą dzierżawy (na przykład contoso. Aby wygenerować nowy klucz, przejdź do strony Certyfikaty & wpisów tajnych. Ten błąd występuje, ponieważ każde uprawnienie tylko do aplikacji wymaga Administracja zgody: administrator globalny katalogu musi wyrazić zgodę na twoją aplikację. Wybierz jedną z poniższych opcji w zależności od roli:Jeśli jesteś administratorem globalnej dzierżawy, przejdź do strony Uprawnienia interfejsu API w Rejestracje aplikacji w Azure Portal i wybierz pozycję Udziel zgody administratora dla {Nazwa dzierżawy} (Gdzie {Nazwa dzierżawy} jest nazwą katalogu).
Jeśli jesteś użytkownikiem standardowym dzierżawy, musisz poprosić administratora globalnego o udzielenie zgody administratora dla aplikacji. Aby to zrobić, udostępnij administratorowi następujący adres URL:
Przykład można przetestować bezpośrednio, uruchamiając główną metodę ClientCredentialGrant. java ze środowiska IDE.
Z powłoki lub wiersza polecenia:
$ mvn clean compile assembly:singleSpowoduje to wygenerowanie pliku msal-client-credential-secret-1. 0. jar w katalogu /targets. Uruchom to polecenie przy użyciu pliku wykonywalnego Java, jak pokazano poniżej:
$ java -jar msal-client-credential-secret-1. jarPo uruchomieniu aplikacja powinna wyświetlić listę użytkowników w skonfigurowanej dzierżawie.
Aplikacja w tym przewodniku Szybki start używa klucza tajnego klienta do identyfikowania się jako klienta poufnego. com/Azure-Samples/ms-identity-java-daemon/tree/master/msal-client-credential-certificate" data-linktype="external">te instrukcje w tym samym repozytorium GitHub dla tego przykładu, ale w drugim folderze msal-client-credential-certificate.
MSAL Java
Biblioteka MSAL Java jest biblioteką służącą do logowania użytkowników i żądań tokenów używanych do uzyskiwania dostępu do interfejsu API chronionego przez Platforma tożsamości Microsoft. Zgodnie z opisem ten przewodnik Szybki start żąda tokenów przy użyciu własnej tożsamości aplikacji zamiast uprawnień delegowanych. Aby uzyskać więcej informacji na temat używania biblioteki MSAL Java z aplikacjami demona, zobacz
Dodaj bibliotekę MSAL4J do aplikacji przy użyciu narzędzia Maven lub narzędzia Gradle, aby zarządzać zależnościami, wprowadzając następujące zmiany w pliku pom. xml aplikacji (Maven) lub build. gradle (Gradle).
W pom. xml:
<dependency><groupId>com. azure</groupId><artifactId>msal4j</artifactId><version>1. 0</version></dependency>W pliku build. gradle:
compile group: 'com. azure', name: 'msal4j', version: '1. 0'Dodaj odwołanie do biblioteki MSAL dla języka Java, dodając następujący kod na początku pliku, w którym będziesz używać biblioteki MSAL4J:
import com. aad. msal4j. *;IClientCredential credential = ClientCredentialFactory. createFromSecret(CLIENT_SECRET);ConfidentialClientApplication cca =ConfidentialClientApplication. builder(CLIENT_ID, credential). authority(AUTHORITY). build();CLIENT_SECRET
CLIENT_ID
AUTHORITY
Aby zażądać tokenu przy użyciu tożsamości aplikacji, należy użyć metody acquireToken
:
IAuthenticationResult result;try {SilentParameters silentParameters =SilentParameters. builder(SCOPE). build();// try to acquire token silently. This call will fail since the token cache does not// have a token for the application you are requesting an access token forresult = cca. acquireTokenSilently(silentParameters). join();} catch (Exception ex) {if (ex. getCause() instanceof MsalException) {ClientCredentialParameters parameters =ClientCredentialParameters. build();// Try to acquire a token. If successful, you should see// the token information printed out to consoleresult = cca. acquireToken(parameters). join();} else {// Handle other exceptions accordinglythrow ex;}}return result;SCOPE
Zawiera żądane zakresy. Dla niestandardowych internetowych interfejsów {Application ID URI}
API jest definiowana w sekcji Uwidacznij interfejs API w Rejestracje aplikacji w Azure Portal.