Вместо использования экземпляра с оператором разрешения области :: поскольку он не был определен как статическая функция.
$r=Page::getInstanceByName($page);
измените его на:
$r=Page->getInstanceByName($page);
И он будет работать как шарм.
Когда в Azure AD выполняется вход в первый раз, необходимо сопоставить заявку upn , выданную Azure AD, с заявкой электронной почты , которая используется Azure AD B2C, так что это утверждение email может быть:
Чтобы сопоставить заявку upn , выданную Azure AD, с заявкой электронной почты , которая используется Azure AD B2C, добавьте новую <OutputClaim />
к Технический профиль проверки подлинности Azure AD:
<ClaimsProvider>
<Domain>commonaad</Domain>
<DisplayName>Common AAD</DisplayName>
<TechnicalProfiles>
<TechnicalProfile Id="Common-AAD">
<DisplayName>Multi-Tenant AAD</DisplayName>
<Protocol Name="OpenIdConnect" />
...
<OutputClaims>
...
<OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="upn" />
</OutputClaims>
...
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
Технический профиль AAD-UserWriteUsingAlternativeSecurityId преобразует заявку электронной почты в другие сообщения [ 1122] запрашивает, вызывая преобразование утверждений CreateOtherMailsFromEmail , а затем сохраняет утверждение otherMails объекту пользователя .
Чтобы отправить заявку по электронной почте в идентификаторе токена для вашего клиентского приложения, добавьте новый <OutputClaim />
в технический профиль проверяющей стороны:
<RelyingParty>
<DefaultUserJourney ReferenceId="SignUpOrSignIn" />
<TechnicalProfile Id="PolicyProfile">
<DisplayName>PolicyProfile</DisplayName>
<Protocol Name="OpenIdConnect" />
...
<OutputClaims>
...
<OutputClaim ClaimTypeReferenceId="otherMails" PartnerClaimType="emails" />
</OutputClaims>
...
</TechnicalProfile>
</RelyingParty>