Как включить/установить 2FA (SMS) при создании учетной записи с использованием API пользователей в приложении Microsoft Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как включить/установить 2FA (SMS) при создании учетной записи с использованием API пользователей в приложении Microsoft

Сообщение Anonymous »

Я создал 2 приложения Entra для внешних пользователей (CIAM). Я использую один из них для создания пользователей, а другой - для пользователей приложения для входа в систему. Оба приложения поддерживают мультитенанты и личные учетные записи Microsoft для доступа к своему API. Я хочу ограничить творения пользователей использованием API (для большей безопасности), и я хочу включить 2FA с использованием SMS во время входа в систему для всех пользователей, которые будут создавать учетную запись, используя API. Пользователи входят в вход в другое приложение Entra, используя Microsoft Pop Up Userflow, и я хочу включить 2FA (SMS) здесь, который будет обрабатываться/выполнять CIAM (приложение ENTRA). Возможна ли такая настройка? Новый пользователь может войти в другое приложение Entra, но я не смог найти ни одного настройки/API, который сделал бы приложение Entra добавить номер 2FA для аутентификации SMS.

Код: Выделить всё

    // Obtain an access token with Application Permissions
$url = "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token";
try {
$response = $client->post($url, [
'form_params' => [
'client_id' => $clientId,
'client_secret' => $clientSecret,
'scope' => 'https://graph.microsoft.com/.default',
'grant_type' => 'client_credentials',
]
]);

$tokenData = json_decode($response->getBody(), true);

if (!isset($tokenData['access_token'])) {
return ['error' => 'Unable to retrieve access token.'];
}

$accessToken = $tokenData['access_token'];
$graphUrl = "https://graph.microsoft.com/v1.0/users";
$userResponse = $client->post($graphUrl, [
'headers' => [
'Authorization' => "Bearer $accessToken",
'Content-Type'  => 'application/json'
],
'json' => [
'accountEnabled' => true,
'displayName'    => "$firstName $lastName",
'givenName' => $firstName,
'surname' => $lastName,
'passwordPolicies' => "DisablePasswordExpiration, DisableStrongPassword",
'identities'=> [
[
"signInType"=> "emailAddress",
"issuer"=> "abc.onmicrosoft.com",
"issuerAssignedId"=> $email
]
],
'passwordProfile' => [
'forceChangePasswordNextSignIn' => false,
'password'                     => $password
]
]
]);
$userData = json_decode($userResponse->getBody(), true);

if (isset($userData['id'])) {
return [
'user_id' => $userData['id'],
'message' => 'User successfully created.'
];
} else {
return ['error' => 'User creation failed.'];
}

} catch (Exception $e) {
return ['error' => $e->getMessage()];
}
Заранее благодарит помощь.

Подробнее здесь: https://stackoverflow.com/questions/793 ... icrosoft-e
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»