Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.
Uwaga
W usłudze Azure Active Directory B2C zasady niestandardowe są przeznaczone głównie do rozwiązywania złożonych scenariuszy. W przypadku większości scenariuszy zalecamy używanie wbudowanych przepływów użytkownika. Jeśli nie zostało to zrobione, dowiedz się więcej o niestandardowym pakiecie startowym zasad w temacie Wprowadzenie do zasad niestandardowych w usłudze Active Directory B2C.
Usługa Azure Active Directory B2C (Azure AD B2C) zapewnia obsługę dostawcy tożsamości protokołu OpenID Connect . Program OpenID Connect 1.0 definiuje warstwę tożsamości na podstawie protokołu OAuth 2.0 i reprezentuje stan sztuki w nowoczesnych protokołach uwierzytelniania. Za pomocą profilu technicznego openID Connect można federować z dostawcą tożsamości opartym na protokole OpenID Connect, takim jak Microsoft Entra ID. Federacja z dostawcą tożsamości umożliwia użytkownikom logowanie się przy użyciu istniejących tożsamości społecznościowych lub przedsiębiorstwa.
Protokół
Atrybut Name elementu Protocol musi być ustawiony na OpenIdConnect. Na przykład protokół profilu technicznego MSA-OIDC to OpenIdConnect:
<TechnicalProfile Id="MSA-OIDC">
<DisplayName>Microsoft Account</DisplayName>
<Protocol Name="OpenIdConnect" />
...
Oświadczenia wejściowe
Elementy InputClaims i InputClaimsTransformations nie są wymagane. Możesz jednak wysłać dodatkowe parametry do dostawcy tożsamości. Poniższy przykład dodaje parametr ciągu zapytania domain_hint z wartością contoso.com do żądania autoryzacji.
<InputClaims>
<InputClaim ClaimTypeReferenceId="domain_hint" DefaultValue="contoso.com" />
</InputClaims>
Oświadczenia wyjściowe
Element OutputClaims zawiera listę oświadczeń zwróconych przez dostawcę tożsamości OpenID Connect. Może być konieczne zamapować nazwę oświadczenia zdefiniowanego w zasadach na nazwę zdefiniowaną w dostawcy tożsamości. Można również uwzględnić oświadczenia, które nie są zwracane przez dostawcę tożsamości, o ile ustawisz DefaultValue atrybut.
Element OutputClaimsTransformations może zawierać kolekcję elementów OutputClaimsTransformation , które są używane do modyfikowania oświadczeń wyjściowych lub generowania nowych.
W poniższym przykładzie pokazano oświadczenia zwrócone przez dostawcę tożsamości konta Microsoft:
- Oświadczenie podrzędne mapowane na oświadczenie issuerUserId.
- Oświadczenie nazwy mapowane na oświadczenie displayName .
- Wiadomość e-mail bez mapowania nazw.
Profil techniczny zwraca również oświadczenia, które nie są zwracane przez dostawcę tożsamości:
- Oświadczenie identityProvider , które zawiera nazwę dostawcy tożsamości.
- Oświadczenie authenticationSource z wartością domyślną socialIdpAuthentication.
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="live.com" />
<OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
<OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
<OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
<OutputClaim ClaimTypeReferenceId="email" />
</OutputClaims>
Metadane
| Atrybut | Wymagania | opis |
|---|---|---|
| identyfikator_klienta | Tak | Identyfikator aplikacji dostawcy tożsamości. |
| IdTokenAudience | Nie. | Publiczność id_token. Jeśli zostanie określony, usługa Azure AD B2C sprawdza, czy aud oświadczenie w tokenie zwróconym przez dostawcę tożsamości jest równe jednemu określonemu w metadanych IdTokenAudience. |
| METADANE | Tak | Adres URL wskazujący dokument konfiguracji dostawcy tożsamości OpenID Connect, który jest również znany jako dobrze znany punkt końcowy konfiguracji OpenID. Adres URL może zawierać {tenant} wyrażenie, które jest zastępowane nazwą dzierżawy. |
| punkt_konfiguracji_autoryzacji | Nie. | Adres URL wskazujący punkt końcowy autoryzacji konfiguracji dostawcy tożsamości OpenID Connect. Wartość authorization_endpoint metadanych ma pierwszeństwo authorization_endpoint przed określonym w dobrze znanym punkcie końcowym konfiguracji OpenID. Adres URL może zawierać {tenant} wyrażenie, które jest zastępowane nazwą dzierżawy. |
| end_session_endpoint | Nie. | Adres URL punktu końcowego sesji końcowej. Wartość end_session_endpoint metadanych ma pierwszeństwo przed end_session_endpoint określonym w dobrze znanym punkcie końcowym konfiguracji OpenID. |
| emitent | Nie. | Unikatowy identyfikator dostawcy tożsamości OpenID Connect. Wartość metadanych wystawcy ma pierwszeństwo przed issuer określonym w dobrze znanym punkcie końcowym konfiguracji OpenID. Jeśli zostanie określony, usługa Azure AD B2C sprawdza, czy iss oświadczenie w tokenie zwróconym przez dostawcę tożsamości jest równe jednemu określonemu w metadanych wystawcy. |
| Nazwa Dostawcy | Nie. | Nazwa dostawcy tożsamości. |
| response_types | Nie. | Typ odpowiedzi zgodnie ze specyfikacją OpenID Connect Core 1.0. Możliwe wartości: id_token, lub codetoken. |
| Tryb_odpowiedzi | Nie. | Metoda używana przez dostawcę tożsamości do wysyłania wyniku z powrotem do usługi Azure AD B2C. Możliwe wartości: query, form_post (wartość domyślna) lub fragment. |
| zakres | Nie. | Zakres żądania zdefiniowanego zgodnie ze specyfikacją OpenID Connect Core 1.0. Na przykład openid, profilei email. |
| Powiązanie httpBinding | Nie. | Oczekiwane powiązanie HTTP z tokenem dostępu i punktami końcowymi tokenu oświadczeń. Możliwe wartości: GET lub POST. |
| ValidTokenIssuerPrefixs | Nie. | Klucz, który może służyć do logowania się do każdej dzierżawy podczas korzystania z dostawcy tożsamości z wieloma dzierżawami, takiego jak Microsoft Entra ID. |
| UsePolicyInRedirectUri | Nie. | Wskazuje, czy podczas konstruowania identyfikatora URI przekierowania należy użyć zasad. Podczas konfigurowania aplikacji u dostawcy tożsamości należy określić identyfikator URI przekierowania. Identyfikator URI przekierowania wskazuje usługę Azure AD B2C, https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp. Jeśli określisz truewartość , musisz dodać identyfikator URI przekierowania dla każdej używanej zasady. Na przykład: https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/{policy-name}/oauth2/authresp. |
| Oznacz jako awarięOnStatusCode5xx | Nie. | Wskazuje, czy żądanie do usługi zewnętrznej powinno być oznaczone jako błąd, jeśli kod stanu HTTP znajduje się w zakresie 5xx. Wartość domyślna to false. |
| DiscoverMetadataByTokenIssuer | Nie. | Wskazuje, czy metadane OIDC powinny zostać odnalezione przy użyciu wystawcy w JWT. Jeśli musisz skompilować adres URL punktu końcowego metadanych na podstawie wystawcy, ustaw wartość true. |
| IncludeClaimResolvingInClaimsHandling | Nie. | W przypadku oświadczeń wejściowych i wyjściowych określa, czy rozwiązanie oświadczeń jest zawarte w profilu technicznym. Możliwe wartości: truelub false (wartość domyślna). Jeśli chcesz użyć funkcji rozpoznawania oświadczeń w profilu technicznym, ustaw tę opcję na truewartość . |
| token_endpoint_auth_method | Nie. | Określa, jak usługa Azure AD B2C wysyła nagłówek uwierzytelniania do punktu końcowego tokenu. Możliwe wartości: client_secret_post (wartość domyślna) i client_secret_basic, private_key_jwt. Aby uzyskać więcej informacji, zobacz sekcję OpenID Connect client authentication (Uwierzytelnianie klienta OpenID Connect). |
| token_signing_algorithm | Nie. | Określa algorytm podpisywania, który ma być używany, gdy token_endpoint_auth_method ustawiono wartość private_key_jwt. Możliwe wartości: RS256 (wartość domyślna) lub RS512. |
| SingleLogoutEnabled (Jednowylogowanie) | Nie. | Wskazuje, czy podczas logowania profil techniczny próbuje wylogować się z federacyjnych dostawców tożsamości. Aby uzyskać więcej informacji, zobacz wylogowywanie sesji usługi Azure AD B2C. Możliwe wartości: true (wartość domyślna) lub false. |
| ReadBodyClaimsOnIdpRedirect | Nie. | Ustaw wartość na , aby true odczytywać oświadczenia z treści odpowiedzi na przekierowanie dostawcy tożsamości. Te metadane są używane z identyfikatorem Apple ID, gdzie oświadczenia zwracają ładunek odpowiedzi. |
<Metadata>
<Item Key="ProviderName">https://login.live.com</Item>
<Item Key="METADATA">https://login.live.com/.well-known/openid-configuration</Item>
<Item Key="response_types">code</Item>
<Item Key="response_mode">form_post</Item>
<Item Key="scope">openid profile email</Item>
<Item Key="HttpBinding">POST</Item>
<Item Key="UsePolicyInRedirectUri">false</Item>
<Item Key="client_id">Your Microsoft application client ID</Item>
</Metadata>
Elementy interfejsu użytkownika
Następujące ustawienia mogą służyć do konfigurowania komunikatu o błędzie wyświetlanego po awarii. Metadane należy skonfigurować w profilu technicznym openID Connect. Komunikaty o błędach mogą być zlokalizowane.
| Atrybut | Wymagania | opis |
|---|---|---|
| UserMessageIfClaimsPrincipalDoesNotExist | Nie. | Komunikat wyświetlany użytkownikowi, jeśli w katalogu nie można odnaleźć konta z podaną nazwą użytkownika. |
| UserMessageIfInvalidPassword | Nie. | Komunikat wyświetlany użytkownikowi, jeśli hasło jest niepoprawne. |
| UserMessageIfOldPasswordUsed | Nie. | Komunikat wyświetlany użytkownikowi, jeśli użyto starego hasła. |
Klucze kryptograficzne
Element CryptographicKeys zawiera następujący atrybut:
| Atrybut | Wymagania | opis |
|---|---|---|
| tajemnica klienta | Tak | Wpis tajny klienta aplikacji dostawcy tożsamości. Ten klucz kryptograficzny jest wymagany tylko wtedy, gdy dla metadanych response_types ustawiono code wartość i token_endpoint_auth_method ustawiono wartość client_secret_post lub client_secret_basic. W takim przypadku usługa Azure AD B2C wykonuje inne wywołanie w celu wymiany kodu autoryzacji dla tokenu dostępu. Jeśli metadane są ustawione, id_token możesz pominąć klucz kryptograficzny. |
| assertion_signing_key | Tak | Klucz prywatny RSA, który będzie używany do podpisywania potwierdzenia klienta. Ten klucz kryptograficzny jest wymagany tylko wtedy, gdy metadane token_endpoint_auth_method są ustawione na private_key_jwtwartość . |
Adres URI przekierowania
Po skonfigurowaniu identyfikatora URI przekierowania dostawcy tożsamości wprowadź .https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp Pamiętaj, aby zastąpić {your-tenant-name} ciąg nazwą dzierżawy. Identyfikator URI przekierowania musi znajdować się we wszystkich małych literach.
Przykłady: