SSO 用のアプリ マニフェストを更新し、アプリをプレビューする
アプリ マニフェスト (以前は Teams アプリ マニフェスト) を更新する前に、アプリで SSO を有効にするようにコードが構成されていることを確認してください。
アプリとボット リソースをMicrosoft Entra IDに登録しました。 また、トークンを処理するようにコードを構成しました。 次に、アプリ マニフェストを更新して、アプリの SSO を有効にする必要があります。 アプリ マニフェストでは、アプリを Teams に統合する方法について説明します。
webApplicationInfo プロパティ
アプリ マニフェスト ファイルで webApplicationInfo
プロパティを構成します。 このプロパティを使用すると、アプリの SSO を使用して、アプリ ユーザーがボット アプリにシームレスにアクセスできるようになります。
webApplicationInfo
には 2 つの要素があります、id
および resource
。
要素 | 説明 |
---|---|
id |
Microsoft Entra IDで作成したアプリ ID (GUID) を入力します。 |
resource |
スコープの作成時にMicrosoft Entra IDで作成したアプリのサブドメイン URI とアプリケーション ID URI を入力します。 Microsoft Entra ID>Expose api セクションからコピーできます。 |
注:
webApplicationInfo
プロパティを実装するには、アプリ マニフェスト バージョン 1.5 以降を使用します。
Microsoft Entra IDに登録したアプリケーション ID URI は、公開した API のスコープで構成されます。
resource
でアプリのサブドメイン URI を構成して、getAuthToken()
を使用する認証要求がアプリ マニフェストで指定されたドメインから送信されるようにします。
詳細については、「webApplicationInfo」を参照してください。
アプリ マニフェストを構成するには
アプリ プロジェクトを開きます。
アプリ マニフェスト フォルダーを開きます。
注:
- アプリ マニフェスト フォルダーは、プロジェクトのルートにある必要があります。 詳細については、「Microsoft Teams アプリ パッケージを作成する」を参照してください。
- manifest.jsonを作成する方法の詳細については、Microsoft Teams のアプリ マニフェスト スキーマに関するページを参照してください。
manifest.json
ファイルを開きます。次のいずれかのコード スニペットをアプリ マニフェスト ファイルに追加して、新しいプロパティを追加します。
アプリにスタンドアロン ボットがある場合は、次のコード スニペットを追加します。
"webApplicationInfo": { "id": "{Azure AD AppId}", "resource": "api://botid-{Azure AD AppId}" }
アプリにボットとタブが含まれている場合は、次のコード スニペットを追加します。
"webApplicationInfo": { "id": "{Azure AD AppId}", "resource": "api://subdomain.example.com/botid-{Azure AD AppId}" }
ここで、
-
{Azure AD AppId}
は、Microsoft Entra IDでアプリを登録したときに作成したアプリ ID です。 これは GUID です。 -
subdomain.example.com
は、Microsoft Entra IDでスコープを作成するときに登録したアプリケーション ID URI です。
-
id プロパティの Microsoft Entra ID からアプリ ID を更新します。
次のプロパティでサブドメイン URL を更新します:
contentUrl
configurationUrl
validDomains
アプリ マニフェスト ファイルを保存します。 詳細については、「アプリ マニフェスト」を参照してください。
更新後のアプリ マニフェストの例を次に示します。
{
"$schema": "https://developer.microsoft.com/json-schemas/teams/v1.7/MicrosoftTeams.schema.json",
"manifestVersion": "1.7",
"version": "1.0",
"id": "00000000-0000-0000-0000-000000000000",
"packageName": "com.microsoft.teams.samples.auth",
"developer": {
"name": "Your Name Here",
"websiteUrl": "https://www.example.com",
"privacyUrl": "https://www.example.com/PrivacyStatement",
"termsOfUseUrl": "https://www.example.com/TermsOfUse"
},
"name": {
"short": "Teams AuthBot"
},
"description": {
"short": "Authentication sample for Microsoft Teams",
"full": "Authentication sample for Microsoft Teams"
},
"icons": {
"outline": "outline.png",
"color": "color.png"
},
"accentColor": "#F3F4F6",
"configurableTabs": [
],
"staticTabs": [
{
"contentUrl": "https://<<BASE_URI_DOMAIN>>/tab/simple",
"entityId": "simpleAuth",
"name": "Simple Auth",
"scopes": [
"personal"
]
},
{
"contentUrl": "https://<<BASE_URI_DOMAIN>>/tab/silent?loginHint={loginHint}&userObjectId={userObjectId}&tenantId={tid}",
"entityId": "silentAuth",
"name": "Silent Auth",
"scopes": [
"personal"
]
},
{
"contentUrl": "https://<<BASE_URI_DOMAIN>>/tab/sso",
"entityId": "ssoAuth",
"name": "SSO Auth",
"scopes": [
"personal"
]
}
],
"bots": [
{
"botId": "<<REGISTERED_BOT_ID>>",
"scopes": [
"personal"
]
}
],
"permissions": [
"messageTeamMembers",
"identity"
],
"validDomains": [
"<<BASE_URI_DOMAIN>>",
"token.botframework.com"
],
"webApplicationInfo": {
"id": "<<REGISTERED_BOT_ID>>",
"resource": "api://<<BASE_URI_DOMAIN>>/<<REGISTERED_BOT_ID>>"
}
}
注:
デバッグ中に、ngrok を使用してMicrosoft Entra IDでアプリをテストできます。 その場合は、 api://subdomain.example.com/00000000-0000-0000-0000-000000000000
のサブドメインを ngrok URL に置き換える必要があります。 ngrok サブドメインが変更されるたびに、URL を更新する必要があります。 たとえば、api://23c3-103-50-148-128.ngrok.io/bccfbe67-e08b-4ec1-a7fd-e0aaf41a097c。
Teams でカスタム アプリとプレビューをアップロードする
SSO を有効にするようにアプリを構成しました。 Teams でカスタム アプリをアップロードし、Teams 環境でプレビューできるようになりました。
Teams でアプリをプレビューするには:
アプリ パッケージを作成します。
アプリ パッケージは、アプリ マニフェストとアプリ アイコンを含む ZIP ファイルです。
Teams を開きます。
[アプリ]>[アプリの管理]>[アプリのアップロード] を選択します。
アプリをアップロードするオプションが表示されます。
[ カスタム アプリのアップロード] を選択して、カスタム アプリを Teams にアップロードします。
アプリ パッケージの ZIP ファイルを選択し、[追加] を選択します。
カスタム アプリがアップロードされます。 同意ダイアログが表示され、必要なアクセス許可が通知されます。
[続行] を選択します。
Teams によってアプリが開き、それを使用できます。
おめでとうございます! ボットまたはメッセージ拡張機能アプリの SSO を有効にしました。
開発者ポータルでの SSO サポート
開発者ポータルで SSO 対応アプリをアップロードすることもできます。 インポートした後に開発者ポータルで SSO サポートを有効にするには:
開発者ポータルを開きます。
[ ツール] を選択し、表示されるアプリの一覧からアプリを選択して開発者ポータルで開きます。
[構成] を選択します。
[ 構成] ページが表示されます。
Microsoft Entra IDで構成したメッセージング エンドポイントを [エンドポイント アドレス] として入力します。
[保存] を選択します。
開発者ポータルでは、アプリの SSO がサポートされるようになりました。
Platform Docs