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
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.
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:8080
i wybrać pozycję Zapisz.
Pobieranie parametrów
Parametry można również znaleźć po zarejestrowaniu aplikacji w witrynie Azure Portal.
Znajdowanie identyfikatora dzierżawy
Przejdź do konta Microsoft Entra dla swojej organizacji. Możesz wyszukać identyfikator Entra firmy Microsoft na pasku wyszukiwania w witrynie Azure Portal.
Na karcie Przegląd w sekcji Podstawowe informacje znajdź identyfikator dzierżawy.
tenant-ID
Skopiuj wartość i wklej ją do edytora do późniejszego użycia.
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
.
Przejdź do strony Azure Data Manager for Energy Overview (Omówienie usługi Azure Data Manager for Energy). W okienku Podstawy znajdź identyfikator klienta.
client-id
Skopiuj wartość i wklej ją do edytora do późniejszego użycia.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.
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.
Przejdź do Rejestracje aplikacji.
W sekcji Zarządzanie wybierz pozycję Certyfikaty i wpisy tajne.
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.
Zapisz wartość wpisu tajnego do późniejszego użycia w kodzie aplikacji klienckiej.
Token dostępu obiektu
app-id
iclient-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.
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.
- Przejdź do Rejestracje aplikacji.
- W sekcji Zarządzanie wybierz pozycję Uwierzytelnianie.
- Pobierz
redirect-uri
(lub adres URL odpowiedzi) dla aplikacji, aby otrzymywać odpowiedzi od identyfikatora Entra firmy Microsoft.
Znajdź adres URL adme dla wystąpienia usługi Azure Data Manager for Energy
Utwórz wystąpienie usługi Azure Data Manager for Energy przy użyciu wygenerowanego
client-id
powyżej.Przejdź do strony Azure Data Manager for Energy Overview (Omówienie usługi Azure Data Manager for Energy) w witrynie Azure Portal.
W okienku Podstawy skopiuj identyfikator URI.
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.
Opcja 2. W okienku Podstawowe elementy strony Omówienie usługi Azure Data Manager for Energy pod polem Partycje danych wybierz widok.
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.
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
Po zastąpieniu parametrów możesz wkleić żądanie w adresie URL dowolnej przeglądarki i wybrać klawisz Enter.
Zaloguj się do witryny Azure Portal, jeśli jeszcze nie zalogowałeś się.
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ć.
Przeglądarka przekierowuje do
http://localhost:8080/?code={authorization code}&state=...
strony po pomyślnym uwierzytelnieniu.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....
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: