Определение технического профиля OAuth1 в пользовательской политике в Azure Active Directory B2C

Примечание

В Azure Active Directory B2C пользовательские политики преимущественно предназначены для выполнения сложных сценариев. В большинстве случаев рекомендуется использовать встроенные пользовательские потоки. Ознакомьтесь со статьей Начало работы с настраиваемыми политиками в Azure Active Directory B2C, чтобы узнать о базовом пакете настраиваемых политик, если еще не сделали этого.

Azure Active Directory B2C (Azure AD B2C) поддерживает протокол OAuth 1.0 для поставщиков удостоверений. В этой статье описаны особенности технического профиля для взаимодействия с поставщиком утверждений, который поддерживает этот стандартизированный протокол. С помощью технического профиля OAuth1 можно создать федерацию с поставщиком удостоверений на основе OAuth1, например Twitter. Федерация с поставщиком удостоверений позволяет пользователям входить в систему, используя имеющиеся удостоверения социальных сетей или компаний.

Протокол

Атрибуту Name элемента Protocol необходимо присвоить значение OAuth1. Например, OAuth1 — это протокол для технического профиля Twitter-OAUTH1.

<TechnicalProfile Id="Twitter-OAUTH1">
  <DisplayName>Twitter</DisplayName>
  <Protocol Name="OAuth1" />
  ...

Входящие утверждения

Элементы InputClaims и InputClaimsTransformations являются пустыми или отсутствуют.

Исходящие утверждения

Элемент OutputClaims содержит список утверждений, возвращаемых поставщиком удостоверений OAuth1. Возможно, потребуется сопоставить имя утверждения, определенное в вашей политике, с именем, определенным у поставщика удостоверений. Вы также можете добавить утверждения, которые не возвращаются поставщиком удостоверений, установив атрибут DefaultValue.

Элемент OutputClaimsTransformations может содержать коллекцию элементов OutputClaimsTransformation, которые используются для изменения исходящих утверждений или создания новых.

В этом примере показаны утверждения, возвращаемые поставщиком удостоверений Twitter:

  • Утверждение user_id, которое сопоставляется с утверждением issuerUserId.
  • Утверждение screen_name, которое сопоставляется с утверждением displayName.
  • Утверждение email не сопоставляется с именем.

Технический профиль также возвращает утверждения, которые не возвращаются поставщиком удостоверений:

  • Утверждение IdentityProvider, содержащее имя поставщика удостоверений.
  • Утверждение AuthenticationSource со значением по умолчанию socialIdpAuthentication.
<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="user_id" />
  <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="screen_name" />
  <OutputClaim ClaimTypeReferenceId="email" />
  <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="twitter.com" />
  <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
</OutputClaims>

Метаданные

attribute Обязательно Описание
client_id Да Идентификатор приложения поставщика удостоверений.
ProviderName Нет Имя поставщика удостоверений.
request_token_endpoint Да URL-адрес конечной точки маркера запроса согласно RFC 5849.
authorization_endpoint Да URL-адрес конечной точки авторизации согласно RFC 5849.
access_token_endpoint Да URL-адрес конечной точки маркера согласно RFC 5849.
ClaimsEndpoint Нет URL-адрес конечной точки информации о пользователе.
ClaimsResponseFormat Нет Формат ответа утверждений.

Криптографические ключи

Элемент CryptographicKeys содержит следующий атрибут:

attribute Обязательно Описание
client_secret Да Секрет клиента приложения поставщика удостоверений.

URI перенаправления

При настройке URI перенаправления поставщика удостоверений введите https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/{policy-id}/oauth1/authresp. Обязательно замените {tenant-name} именем своего арендатора (например, contosob2c) и {policy-id} идентификатором своей политики (например, b2c_1a_policy). URI перенаправления должен содержать только строчные символы. Добавьте URL-адрес перенаправления для всех политик, использующих вход поставщика удостоверений.

Примеры: