名前空間: microsoft.graph
重要
Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。
新しい 電話認証方法を追加します。 ユーザーは、各種の電話を 1 つずつ持つことができません。これは phoneType プロパティでキャプチャされます。 つまり、たとえば、既存の mobile Phone を使用しているユーザーに mobile Phone を追加すると失敗します。 さらに、ユーザーは alternateMobile 電話を追加する前に、常に mobile 電話を持っている必要があります。
電話番号を追加すると、有効になっている場合、Azure 多要素認証 (MFA) とセルフサービス パスワード リセット (SSPR) の両方で使用できるようになります。
さらに、ユーザーが SMS サインインを使用するようにポリシーによって有効になっていて、 mobile 番号が追加された場合、システムはそのシステムで使用するために番号を登録しようとします。
この API は、次の国内クラウド展開で使用できます。
| グローバル サービス |
米国政府機関 L4 |
米国政府機関 L5 (DOD) |
21Vianet が運営する中国 |
| ✅ |
✅ |
✅ |
✅ |
アクセス許可
この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。
アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。
| アクセス許可の種類 |
最小特権アクセス許可 |
より高い特権のアクセス許可 |
| 委任 (職場または学校のアカウント) |
UserAuthMethod-Phone.ReadWrite |
UserAuthMethod-Phone.ReadWrite.All、UserAuthenticationMethod.ReadWrite、UserAuthenticationMethod.ReadWrite.All |
| 委任 (個人用 Microsoft アカウント) |
サポートされていません。 |
サポートされていません。 |
| アプリケーション |
UserAuthenticationMethod.ReadWrite.All |
UserAuthMethod-Phone.ReadWrite.All |
重要
職場または学校アカウントを使用してアクセスを委任するには、サインインしたユーザーに、サポートされている Microsoft Entra ロール、またはこの操作に必要なアクセス許可を付与するカスタム ロールが割り当てられている必要があります。 この操作では、必要最小限の特権のみを提供する次の組み込みロールがサポートされます。
ユーザーが独自の認証方法を管理すると、ユーザーが最後の認証を行ってから現在のセッションで 10 分以上経った場合、システムは多要素認証 (MFA) を完了するように求めます。
HTTP 要求
別のユーザーのアカウントに電話認証方法を追加します。 ユーザーが自分のアカウントに電話認証方法を追加することはできません。
POST /users/{id | userPrincipalName}/authentication/phoneMethods
| 名前 |
説明 |
| Authorization |
ベアラー {token}。 必須です。
認証と認可についての詳細をご覧ください。 |
| Content-Type |
application/json. 必須です。 |
要求本文
要求本文には、 phoneAuthenticationMethod オブジェクトの JSON 表現を指定します。 JSON には phoneNumber と phoneType を含める必要がありますが、 smsSignInState (読み取り専用) は含めないでください。
| プロパティ |
型 |
説明 |
| phoneNumber |
String |
携帯ショートメール(SMS) または認証通話用の電話番号。 電話番号の形式は "+<国コード><番号>x<内線番号>" で、内線番号はオプションです。 たとえば、+1 5555551234または +1 5555551234x123 が有効です。 必要な形式と一致しない場合、数値は作成/更新時に拒否されます。 |
| phoneType |
文字列 |
使用可能な値は mobile、alternateMobile、および office です。 |
応答
成功した場合、このメソッドは応答本文で 201 Created 応答コードと新しい phoneAuthenticationMethod オブジェクトを返します。
例
要求
次の例は要求を示しています。
POST https://graph.microsoft.com/beta/users/kim@contoso.com/authentication/phoneMethods
Content-type: application/json
{
"phoneNumber": "+1 2065555555",
"phoneType": "mobile"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new PhoneAuthenticationMethod
{
PhoneNumber = "+1 2065555555",
PhoneType = AuthenticationPhoneType.Mobile,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Users["{user-id}"].Authentication.PhoneMethods.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewPhoneAuthenticationMethod()
phoneNumber := "+1 2065555555"
requestBody.SetPhoneNumber(&phoneNumber)
phoneType := graphmodels.MOBILE_AUTHENTICATIONPHONETYPE
requestBody.SetPhoneType(&phoneType)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
phoneMethods, err := graphClient.Users().ByUserId("user-id").Authentication().PhoneMethods().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
PhoneAuthenticationMethod phoneAuthenticationMethod = new PhoneAuthenticationMethod();
phoneAuthenticationMethod.setPhoneNumber("+1 2065555555");
phoneAuthenticationMethod.setPhoneType(AuthenticationPhoneType.Mobile);
PhoneAuthenticationMethod result = graphClient.users().byUserId("{user-id}").authentication().phoneMethods().post(phoneAuthenticationMethod);
const options = {
authProvider,
};
const client = Client.init(options);
const phoneAuthenticationMethod = {
phoneNumber: '+1 2065555555',
phoneType: 'mobile'
};
await client.api('/users/kim@contoso.com/authentication/phoneMethods')
.version('beta')
.post(phoneAuthenticationMethod);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\PhoneAuthenticationMethod;
use Microsoft\Graph\Beta\Generated\Models\AuthenticationPhoneType;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new PhoneAuthenticationMethod();
$requestBody->setPhoneNumber('+1 2065555555');
$requestBody->setPhoneType(new AuthenticationPhoneType('mobile'));
$result = $graphServiceClient->users()->byUserId('user-id')->authentication()->phoneMethods()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.SignIns
$params = @{
phoneNumber = "+1 2065555555"
phoneType = "mobile"
}
New-MgBetaUserAuthenticationPhoneMethod -UserId $userId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.phone_authentication_method import PhoneAuthenticationMethod
from msgraph_beta.generated.models.authentication_phone_type import AuthenticationPhoneType
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = PhoneAuthenticationMethod(
phone_number = "+1 2065555555",
phone_type = AuthenticationPhoneType.Mobile,
)
result = await graph_client.users.by_user_id('user-id').authentication.phone_methods.post(request_body)
応答
次の例は応答を示しています。
注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。
HTTP/1.1 201 Created
Content-type: application/json
{
"phoneNumber": "+1 2065555555",
"phoneType": "phoneType-value",
"smsSignInState": "ready",
"id": "3179e48a-750b-4051-897c-87b9720928f7"
}