Udostępnij za pośrednictwem


Generowanie tokenu uwierzytelniania

Z tego artykułu dowiesz się, jak wygenerować token uwierzytelniania jednostki usługi, token uwierzytelniania użytkownika i token odświeżania użytkownika.

Rejestrowanie aplikacji przy użyciu usługi Microsoft Entra ID

  1. Aby aprowizować platformę Azure Data Manager for Energy, musisz zarejestrować aplikację na stronie rejestracji aplikacji w witrynie Azure Portal. Aby zarejestrować aplikację, możesz użyć konta Microsoft lub konta służbowego. Aby uzyskać instrukcje dotyczące konfigurowania, zobacz Rejestrowanie dokumentacji aplikacji.

  2. Jeśli w sekcji Przegląd aplikacji nie określono żadnych identyfikatorów URI przekierowania, możesz wybrać pozycję Dodaj internet platformy>, dodać http://localhost:8080i wybrać pozycję Zapisz.

    Zrzut ekranu przedstawiający dodawanie identyfikatora URI do aplikacji.

Pobieranie parametrów

Parametry można również znaleźć po zarejestrowaniu aplikacji w witrynie Azure Portal.

Znajdowanie identyfikatora dzierżawy

  1. Przejdź do konta Microsoft Entra dla swojej organizacji. Możesz wyszukać identyfikator Entra firmy Microsoft na pasku wyszukiwania w witrynie Azure Portal.

  2. Na karcie Przegląd w sekcji Podstawowe informacje znajdź identyfikator dzierżawy.

  3. tenant-ID Skopiuj wartość i wklej ją do edytora do późniejszego użycia.

    Zrzut ekranu przedstawiający wyszukiwanie identyfikatora Entra firmy Microsoft.

    Zrzut ekranu przedstawiający znajdowanie identyfikatora dzierżawy.

Znajdowanie identyfikatora klienta

Wartość to client-id ta sama wartość, której używasz do rejestrowania aplikacji podczas aprowizacji wystąpienia usługi Azure Data Manager for Energy. Jest często określany jako app-id.

  1. Przejdź do strony Azure Data Manager for Energy Overview (Omówienie usługi Azure Data Manager for Energy). W okienku Podstawy znajdź identyfikator klienta.

  2. client-id Skopiuj wartość i wklej ją do edytora do późniejszego użycia.

  3. Obecnie jedno wystąpienie usługi Azure Data Manager for Energy umożliwia skojarzenie jednego app-id wystąpienia z jednym wystąpieniem.

    Ważne

    Wartość client-id przekazana jako wartość wywołań interfejsu API upoważnienia musi być taka sama, która została użyta do aprowizacji wystąpienia usługi Azure Data Manager dla energii.

    Zrzut ekranu przedstawiający znajdowanie identyfikatora klienta dla zarejestrowanej aplikacji.

Znajdowanie klucza tajnego klienta

A client-secret to wartość ciągu, która aplikacja może używać zamiast certyfikatu do identyfikowania się. Czasami jest to nazywane hasłem aplikacji.

  1. Przejdź do Rejestracje aplikacji.

  2. W sekcji Zarządzanie wybierz pozycję Certyfikaty i wpisy tajne.

  3. Wybierz pozycję Nowy klucz tajny klienta, aby utworzyć klucz tajny klienta dla identyfikatora klienta użytego do utworzenia wystąpienia usługi Azure Data Manager dla usługi Energy.

  4. Zapisz wartość wpisu tajnego do późniejszego użycia w kodzie aplikacji klienckiej.

    Token dostępu obiektu app-id i client-secret ma dostęp administratora infrastruktury do wystąpienia.

    Uwaga

    Nie zapomnij zarejestrować wartości wpisu tajnego. Ta wartość wpisu tajnego nigdy nie jest wyświetlana ponownie po opuszczeniu tej strony na potrzeby tworzenia wpisu tajnego klienta.

    Zrzut ekranu przedstawiający znajdowanie wpisu tajnego klienta.

Znajdowanie identyfikatora URI przekierowania

Aplikacja redirect-uri , w której aplikacja wysyła i odbiera odpowiedzi uwierzytelniania. Musi dokładnie odpowiadać jednemu z identyfikatorów URI przekierowania zarejestrowanych w portalu, z tą różnicą, że musi być zakodowany adres URL.

  1. Przejdź do Rejestracje aplikacji.
  2. W sekcji Zarządzanie wybierz pozycję Uwierzytelnianie.
  3. Pobierz redirect-uri (lub adres URL odpowiedzi) dla aplikacji, aby otrzymywać odpowiedzi od identyfikatora Entra firmy Microsoft.

Zrzut ekranu przedstawiający identyfikator URI przekierowania.

Znajdź adres URL adme dla wystąpienia usługi Azure Data Manager for Energy

  1. Utwórz wystąpienie usługi Azure Data Manager for Energy przy użyciu wygenerowanego client-id powyżej.

  2. Przejdź do strony Azure Data Manager for Energy Overview (Omówienie usługi Azure Data Manager for Energy) w witrynie Azure Portal.

  3. W okienku Podstawy skopiuj identyfikator URI.

    Zrzut ekranu przedstawiający znajdowanie identyfikatora URI dla wystąpienia usługi Azure Data Manager for Energy.

Znajdowanie identyfikatora partycji danych

Istnieją dwa sposoby uzyskiwania listy partycji danych w wystąpieniu usługi Azure Data Manager for Energy.

  • Opcja 1. W sekcji Zaawansowane interfejsu użytkownika usługi Azure Data Manager for Energy przejdź do elementu menu Partycje danych.

    Zrzut ekranu przedstawiający znajdowanie identyfikatora data-partition-id z wystąpienia usługi Azure Data Manager for Energy.

  • Opcja 2. W okienku Podstawowe elementy strony Omówienie usługi Azure Data Manager for Energy pod polem Partycje danych wybierz widok.

    Zrzut ekranu przedstawiający znajdowanie identyfikatora partycji danych na stronie Przegląd wystąpienia usługi Azure Data Manager for Energy.

    Zrzut ekranu przedstawiający znajdowanie identyfikatora partycji danych ze strony Przegląd wystąpienia usługi Azure Data Manager for Energy z partycjami danych.

Znajdź domenę

Domyślnie parametr domain to dataservices.energy dla wszystkich wystąpień usługi Azure Data Manager for Energy.

Generowanie tokenu uwierzytelniania identyfikatora klienta

Uruchom następujące polecenie curl w powłoce Azure Cloud Bash po zastąpieniu wartości symboli zastępczych odpowiednimi wartościami znalezionymi wcześniej w poprzednich krokach. Token dostępu w odpowiedzi jest tokenem client-id uwierzytelniania.

Format żądania

curl --location --request POST 'https://login.microsoftonline.com/<tenant-id>/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope=<client-id>.default' \
--data-urlencode 'client_id=<client-id>' \
--data-urlencode 'client_secret=<client-secret>' \
--data-urlencode 'resource=<client-id>'

Przykładowa odpowiedź

    {
        "token_type": "Bearer",
        "expires_in": 86399,
        "ext_expires_in": 86399,
        "access_token": "abcdefgh123456............."
    }

Generowanie tokenu uwierzytelniania użytkownika

Generowanie tokenu uwierzytelniania użytkownika jest procesem dwuetapowym.

Pobieranie kodu autoryzacji

Pierwszym krokiem uzyskiwania tokenu dostępu dla wielu przepływów openID Połączenie (OIDC) i OAuth 2.0 jest przekierowanie użytkownika do punktu końcowego Platforma tożsamości Microsoft/authorize. Microsoft Entra ID podpisuje użytkownika i żąda zgody na uprawnienia, których żąda aplikacja. W przepływie udzielania kodu autoryzacji po uzyskaniu zgody identyfikator Entra firmy Microsoft zwraca kod autoryzacji do aplikacji, który może zrealizować w punkcie końcowym Platforma tożsamości Microsoft /token dla tokenu dostępu.

  1. Przygotuj format żądania przy użyciu parametrów.

    https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize?client_id=<client-id>
    &response_type=code
    &redirect_uri=<redirect-uri>
    &response_mode=query
    &scope=<client-id>%2f.default&state=12345&sso_reload=true
    
  2. Po zastąpieniu parametrów możesz wkleić żądanie w adresie URL dowolnej przeglądarki i wybrać klawisz Enter.

  3. Zaloguj się do witryny Azure Portal, jeśli jeszcze nie zalogowałeś się.

  4. Może zostać wyświetlony komunikat "Hmmm... Nie można uzyskać dostępu do tej strony" komunikat o błędzie w przeglądarce. Możesz go zignorować.

    Zrzut ekranu przedstawiający przekierowanie hosta lokalnego.

  5. Przeglądarka przekierowuje do http://localhost:8080/?code={authorization code}&state=... strony po pomyślnym uwierzytelnieniu.

  6. Skopiuj odpowiedź z paska adresu URL przeglądarki i pobierz tekst między code= i &state.

    http://localhost:8080/?code=0.BRoAv4j5cvGGr0...au78f&state=12345&session....
    
  7. Zachowaj tę authorization-code pomoc w celu użycia w przyszłości.

    Parametr Opis
    code Kod autoryzacji żądany przez aplikację. Aplikacja może użyć kodu autoryzacji, aby zażądać tokenu dostępu dla zasobu docelowego. Kody autoryzacji są krótkotrwałe. Zazwyczaj wygasają po około 10 minutach.
    stan Jeśli parametr stanu jest uwzględniony w żądaniu, ta sama wartość powinna pojawić się w odpowiedzi. Aplikacja powinna sprawdzić, czy wartości stanu w żądaniu i odpowiedzi są identyczne. Ta kontrola pomaga wykrywać ataki CSRF na klienta.
    session_state Unikatowa wartość identyfikująca bieżącą sesję użytkownika. Ta wartość jest identyfikatorem GUID, ale powinna być traktowana jako nieprzezroczysta wartość, która jest przekazywana bez badania.

Ostrzeżenie

Uruchomienie adresu URL w narzędziu Postman nie będzie działać, ponieważ wymaga dodatkowej konfiguracji na potrzeby pobierania tokenu.

Pobieranie tokenu uwierzytelniania i tokenu odświeżania

Drugim krokiem jest pobranie tokenu uwierzytelniania i tokenu odświeżania. Aplikacja używa kodu autoryzacji otrzymanego w poprzednim kroku, aby zażądać tokenu dostępu, wysyłając żądanie POST do punktu końcowego /token .

Format żądania

  curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'client_id=<client-id>
  &scope=<client-id>%2f.default openid profile offline_access
  &code=<authorization-code>
  &redirect_uri=<redirect-uri>
  &grant_type=authorization_code
  &client_secret=<client-secret>' 'https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token'

Przykładowa odpowiedź

{
  "token_type": "Bearer",
  "scope": "User.Read profile openid email",
  "expires_in": 4557,
  "access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkJuUXdJd0ZFc...",
  "refresh_token": "0.ARoAv4j5cvGGr0GRqy180BHbR8lB8cvIWGtHpawGN..."
}
Parametr Opis
token_type Wskazuje wartość typu tokenu. Jedynym typem, który obsługuje identyfikator Entra firmy Microsoft, jest bearer.
zakres Rozdzielona spacjami lista uprawnień programu Microsoft Graph, dla których token dostępu jest prawidłowy.
expires_in Jak długo token dostępu jest prawidłowy (w sekundach).
access_token Żądany token dostępu. Aplikacja może używać tego tokenu do wywoływania programu Microsoft Graph.
refresh_token Token odświeżania OAuth 2.0. Aplikacja może użyć tego tokenu, aby uzyskać dodatkowe tokeny dostępu po wygaśnięciu bieżącego tokenu dostępu. Tokeny odświeżania są długotrwałe i mogą być używane do przechowywania dostępu do zasobów przez dłuższy czas.

Aby uzyskać więcej informacji na temat generowania tokenu dostępu użytkownika i używania tokenu odświeżania w celu wygenerowania nowego tokenu dostępu, zobacz Generowanie tokenów odświeżania.

OSDU® jest znakiem towarowym grupy Open.

Następne kroki

Aby dowiedzieć się więcej na temat używania wygenerowanego tokenu odświeżania, zobacz: