Azure AD B2C проходит проверку подлинности с помощью существующей локальной службы - PullRequest
0 голосов
/ 03 апреля 2019

У меня есть служба аутентификации как REST API на предпосылке.Существуют пользователи, и служба может аутентифицировать их, передавая имя пользователя и пароль.Могу ли я настроить Azure B2C для вызова этого существующего REST API аутентификации для аутентификации?Есть ли образцы Azure , подобные этому?

1 Ответ

0 голосов
/ 03 апреля 2019

Пользовательскую политику Azure AD B2C можно интегрировать со службой REST, как описано Интеграция обменов утверждениями API REST в вашем пути пользователя Azure AD B2C в качестве проверки ввода пользователя статья в документации Azure AD B2C.

Пример проверки учетных данных пользователя с использованием REST API можно найти в примере Wingtip .

В этом примере Wingtip объявлен технический профиль , представляющий API REST:

<TechnicalProfile Id="ClassicAccount-CheckPassword">
  <DisplayName>Classic Account Check Password</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="ServiceUrl">https://wingtipidentityb2c.azurewebsites.net/api/account/checkpassword</Item>
    <Item Key="AuthenticationType">Basic</Item>
    <Item Key="HttpBinding">POST</Item>
    <Item Key="SendClaimsIn">Form</Item>
  </Metadata>
  <CryptographicKeys>
    <Key Id="BasicAuthenticationUsername" StorageReferenceId="B2C_1A_WingTipClassicAccountClientId" />
    <Key Id="BasicAuthenticationPassword" StorageReferenceId="B2C_1A_WingTipClassicAccountClientSecret" />
  </CryptographicKeys>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="userName" />
    <InputClaim ClaimTypeReferenceId="password" />
  </InputClaims>
  <UseTechnicalProfileForSessionManagement ReferenceId="SSOSession-Noop" />
</TechnicalProfile>

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

<TechnicalProfile Id="LocalAccount-Login">
  <DisplayName>WingTip Account</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="ContentDefinitionReferenceId">api.localaccount.login</Item>
    <Item Key="setting.operatingMode">Email</Item>
    <Item Key="SignUpTarget">LocalAccountRegistrationExchange</Item>
  </Metadata>
  <IncludeInSso>false</IncludeInSso>
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="signInName" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="signInName" Required="true" />
    <OutputClaim ClaimTypeReferenceId="password" Required="true" />
    <OutputClaim ClaimTypeReferenceId="authenticationSource" />
    <OutputClaim ClaimTypeReferenceId="objectId" />
  </OutputClaims>
  <ValidationTechnicalProfiles>
    <ValidationTechnicalProfile ReferenceId="ClassicAccount-CheckPassword" />
    <ValidationTechnicalProfile ReferenceId="LocalAccount-OpenIdConnect" />
  </ValidationTechnicalProfiles>
  <UseTechnicalProfileForSessionManagement ReferenceId="SSOSession-AzureActiveDirectory" />
</TechnicalProfile>

Реализация API проверяет учетные данные пользователя и затем переносит учетную запись пользователя из базы данных SQL Server в каталог Azure AD B2C.

(Пользовательская миграция необязательна.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...