Tokeny identyfikatorów w Platforma tożsamości Microsoft

Serwer autoryzacji wystawia tokeny identyfikatorów zawierające oświadczenia, które zawierają informacje o użytkowniku. Można je wysyłać razem lub zamiast tokenu dostępu. Informacje w tokenach identyfikatorów umożliwiają klientowi sprawdzenie, czy użytkownik jest tym, do którego się podaje.

Aplikacje innych firm mają na celu zrozumienie tokenów identyfikatorów. Tokeny identyfikatorów nie powinny być używane do celów autoryzacji. Tokeny dostępu są używane do autoryzacji. Oświadczenia udostępniane przez tokeny identyfikatorów mogą służyć do środowiska użytkownika wewnątrz aplikacji, jako kluczy w bazie danych i zapewniania dostępu do aplikacji klienckiej. Aby uzyskać więcej informacji na temat oświadczeń używanych w tokenie identyfikatora, zobacz dokumentację oświadczeń tokenu identyfikatora. Aby uzyskać więcej informacji na temat autoryzacji opartej na oświadczeniach, zobacz Zabezpieczanie aplikacji i interfejsów API przez weryfikowanie oświadczeń.

Formaty tokenów

Istnieją dwie wersje tokenów identyfikatorów dostępne w Platforma tożsamości Microsoft: v1.0 i v2.0. Te wersje określają oświadczenia, które znajdują się w tokenie. Tokeny identyfikatorów w wersji 1.0 i 2.0 mają różnice w posiadanych informacjach. Wersja jest oparta na punkcie końcowym, z którego zażądano. Nowe aplikacje powinny używać wersji 2.0.

  • Wersja 1.0: https://login.microsoftonline.com/common/oauth2/authorize
  • Wersja 2.0: https://login.microsoftonline.com/common/oauth2/v2.0/authorize

Przykładowy token identyfikatora w wersji 1.0

eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjdfWnVmMXR2a3dMeFlhSFMzcTZsVWpVWUlHdyIsImtpZCI6IjdfWnVmMXR2a3dMeFlhSFMzcTZsVWpVWUlHdyJ9.eyJhdWQiOiJiMTRhNzUwNS05NmU5LTQ5MjctOTFlOC0wNjAxZDBmYzljYWEiLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC9mYTE1ZDY5Mi1lOWM3LTQ0NjAtYTc0My0yOWYyOTU2ZmQ0MjkvIiwiaWF0IjoxNTM2Mjc1MTI0LCJuYmYiOjE1MzYyNzUxMjQsImV4cCI6MTUzNjI3OTAyNCwiYWlvIjoiQVhRQWkvOElBQUFBcXhzdUIrUjREMnJGUXFPRVRPNFlkWGJMRDlrWjh4ZlhhZGVBTTBRMk5rTlQ1aXpmZzN1d2JXU1hodVNTajZVVDVoeTJENldxQXBCNWpLQTZaZ1o5ay9TVTI3dVY5Y2V0WGZMT3RwTnR0Z2s1RGNCdGsrTExzdHovSmcrZ1lSbXY5YlVVNFhscGhUYzZDODZKbWoxRkN3PT0iLCJhbXIiOlsicnNhIl0sImVtYWlsIjoiYWJlbGlAbWljcm9zb2Z0LmNvbSIsImZhbWlseV9uYW1lIjoiTGluY29sbiIsImdpdmVuX25hbWUiOiJBYmUiLCJpZHAiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwiaXBhZGRyIjoiMTMxLjEwNy4yMjIuMjIiLCJuYW1lIjoiYWJlbGkiLCJub25jZSI6IjEyMzUyMyIsIm9pZCI6IjA1ODMzYjZiLWFhMWQtNDJkNC05ZWMwLTFiMmJiOTE5NDQzOCIsInJoIjoiSSIsInN1YiI6IjVfSjlyU3NzOC1qdnRfSWN1NnVlUk5MOHhYYjhMRjRGc2dfS29vQzJSSlEiLCJ0aWQiOiJmYTE1ZDY5Mi1lOWM3LTQ0NjAtYTc0My0yOWYyOTU2ZmQ0MjkiLCJ1bmlxdWVfbmFtZSI6IkFiZUxpQG1pY3Jvc29mdC5jb20iLCJ1dGkiOiJMeGVfNDZHcVRrT3BHU2ZUbG40RUFBIiwidmVyIjoiMS4wIn0=.UJQrCA6qn2bXq57qzGX_-D3HcPHqBMOKDPx4su1yKRLNErVD8xkxJLNLVRdASHqEcpyDctbdHccu6DPpkq5f0ibcaQFhejQNcABidJCTz0Bb2AbdUCTqAzdt9pdgQvMBnVH1xk3SCM6d4BbT4BkLLj10ZLasX7vRknaSjE_C5DI7Fg4WrZPwOhII1dB0HEZ_qpNaYXEiy-o94UJ94zCr07GgrqMsfYQqFR7kn-mn68AjvLcgwSfZvyR_yIK75S_K37vC3QryQ7cNoafDe9upql_6pB2ybMVlgWPs_DmbJ8g0om-sPlwyn74Cc1tW3ze-Xptw_2uVdPgWyqfuWAfq6Q

Wyświetl ten przykładowy token w wersji 1.0 w jwt.ms.

Przykładowy token identyfikatora w wersji 2.0

eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjFMVE16YWtpaGlSbGFfOHoyQkVKVlhlV01xbyJ9.eyJ2ZXIiOiIyLjAiLCJpc3MiOiJodHRwczovL2xvZ2luLm1pY3Jvc29mdG9ubGluZS5jb20vOTEyMjA0MGQtNmM2Ny00YzViLWIxMTItMzZhMzA0YjY2ZGFkL3YyLjAiLCJzdWIiOiJBQUFBQUFBQUFBQUFBQUFBQUFBQUFJa3pxRlZyU2FTYUZIeTc4MmJidGFRIiwiYXVkIjoiNmNiMDQwMTgtYTNmNS00NmE3LWI5OTUtOTQwYzc4ZjVhZWYzIiwiZXhwIjoxNTM2MzYxNDExLCJpYXQiOjE1MzYyNzQ3MTEsIm5iZiI6MTUzNjI3NDcxMSwibmFtZSI6IkFiZSBMaW5jb2xuIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiQWJlTGlAbWljcm9zb2Z0LmNvbSIsIm9pZCI6IjAwMDAwMDAwLTAwMDAtMDAwMC02NmYzLTMzMzJlY2E3ZWE4MSIsInRpZCI6IjkxMjIwNDBkLTZjNjctNGM1Yi1iMTEyLTM2YTMwNGI2NmRhZCIsIm5vbmNlIjoiMTIzNTIzIiwiYWlvIjoiRGYyVVZYTDFpeCFsTUNXTVNPSkJjRmF0emNHZnZGR2hqS3Y4cTVnMHg3MzJkUjVNQjVCaXN2R1FPN1lXQnlqZDhpUURMcSFlR2JJRGFreXA1bW5PcmNkcUhlWVNubHRlcFFtUnA2QUlaOGpZIn0.1AFWW-Ck5nROwSlltm7GzZvDwUkqvhSQpm55TQsmVo9Y59cLhRXpvB8n-55HCr9Z6G_31_UbeUkoz612I2j_Sm9FFShSDDjoaLQr54CreGIJvjtmS3EkK9a7SJBbcpL1MpUtlfygow39tFjY7EVNW9plWUvRrTgVk7lYLprvfzw-CIqw3gHC-T7IK_m_xkr08INERBtaecwhTeN4chPC4W3jdmw_lIxzC48YoQ0dB1L9-ImX98Egypfrlbm0IBL5spFzL6JDZIRRJOu8vecJvj1mq-IUhGt0MacxX8jdxYLP-KUu2d9MbNKpCKJuZ7p8gwTL5B7NlUdh_dmSviPWrw

Wyświetl ten przykładowy token w wersji 2.0 w jwt.ms.

Okres istnienia tokenu

Domyślnie token identyfikatora jest ważny przez jedną godzinę — po godzinie klient musi uzyskać nowy token identyfikatora.

Możesz dostosować okres istnienia tokenu identyfikatora, aby kontrolować, jak często aplikacja kliencka wygasa sesji aplikacji i jak często wymaga od użytkownika ponownego uwierzytelnienia w trybie dyskretnym lub interakcyjnym. Aby uzyskać więcej informacji, przeczytaj Konfigurowanie okresów istnienia tokenów.

Weryfikowanie tokenów

Aby zweryfikować token identyfikatora, klient może sprawdzić, czy token został naruszony. Może również zweryfikować wystawcę, aby upewnić się, że prawidłowy wystawca wysłał token. Ponieważ tokeny identyfikatorów są zawsze tokenem JWT, wiele bibliotek istnieje w celu zweryfikowania tych tokenów — należy użyć jednej z tych bibliotek, a nie samodzielnie. Tylko poufne klienci powinni weryfikować tokeny identyfikatorów. Aby uzyskać więcej informacji, zobacz Zabezpieczanie aplikacji i interfejsów API przez weryfikowanie oświadczeń.

Aplikacje publiczne (kod uruchomiony w całości na urządzeniu lub w sieci, którą nie kontrolujesz, np. przeglądarka użytkownika lub sieć domowa), nie korzystają z weryfikacji tokenu identyfikatora. W tym przypadku złośliwy użytkownik może przechwycić i edytować klucze używane do weryfikacji tokenu.

Następujące oświadczenia JWT powinny zostać zweryfikowane w tokenie identyfikatora po zweryfikowaniu podpisu w tokenie. Biblioteka weryfikacji tokenu może również zweryfikować następujące oświadczenia:

  • Znaczniki czasu: iatznaczniki czasu , nbfi exp powinny spaść przed lub po bieżącej godzinie, zgodnie z potrzebami.
  • Odbiorcy: aud oświadczenie powinno być zgodne z identyfikatorem aplikacji.
  • Nonce: nonce oświadczenie w ładunku musi być zgodne z parametrem nonce przekazanym /authorize do punktu końcowego podczas początkowego żądania.

Zobacz też

Następne kroki