Share via


SSO 用のアプリ マニフェストを更新し、アプリをプレビューする

アプリ マニフェスト (以前は Teams アプリ マニフェスト) を更新する前に、アプリで SSO を有効にするようにコードが構成されていることを確認してください。

アプリとボット リソースを Microsoft Entra ID で登録しました。 また、トークンを処理するようにコードを構成しました。 次に、アプリ マニフェストを更新して、アプリの SSO を有効にする必要があります。 アプリ マニフェストでは、アプリを Teams に統合する方法について説明します。

webApplicationInfo プロパティ

webApplicationInfoアプリ マニフェスト ファイルで プロパティを構成します。 このプロパティを使用すると、アプリの SSO を使用して、アプリ ユーザーがボット アプリにシームレスにアクセスできるようになります。

webApplicationInfo には 2 つの要素があります、id および resource

要素 説明
id 作成したアプリ ID (GUID) を Microsoft Entra ID に入力します。
resource スコープの作成時にMicrosoft Entra ID で作成したアプリのサブドメイン URI とアプリケーション ID URI を入力します。 [MICROSOFT ENTRA ID>] [API の公開] セクションからコピーできます。

注:

プロパティを実装するには、アプリ マニフェスト バージョン 1.5 以降を webApplicationInfo 使用します。

Microsoft Entra ID に登録したアプリケーション ID URI は、公開した API のスコープで構成されます。 を使用getAuthToken()して認証要求がアプリ マニフェストでresource指定されたドメインからのものであることを確認するには、 でアプリのサブドメイン URI を構成します。

詳細については、「webApplicationInfo」を参照してください。

アプリ マニフェストを構成するには

  1. アプリ プロジェクトを開きます。

  2. アプリ マニフェスト フォルダーを開きます。

    注:

  3. manifest.json ファイルを開きます。

  4. 次のいずれかのコード スニペットをアプリ マニフェスト ファイルに追加して、新しいプロパティを追加します。

    • アプリにスタンドアロン ボットがある場合は、次のコード スニペットを追加します。

      "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 です。
  5. id プロパティの Microsoft Entra ID からアプリ ID 更新します。

  6. 次のプロパティでサブドメイン URL を更新します:

    1. contentUrl
    2. configurationUrl
    3. validDomains
  7. アプリ マニフェスト ファイルを保存します。 詳細については、「アプリ マニフェスト」を参照してください。


更新後のアプリ マニフェストの例を次に示します。
{
  "$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 でアプリをテストできます。 その場合は、 のサブドメインを ngrok URL に api://subdomain.example.com/00000000-0000-0000-0000-000000000000 置き換える必要があります。 ngrok サブドメインが変更されるたびに、URL を更新する必要があります。 たとえば、api://23c3-103-50-148-128.ngrok.io/bccfbe67-e08b-4ec1-a7fd-e0aaf41a097c。

Teams でカスタム アプリとプレビューをアップロードする

SSO を有効にするようにアプリを構成しました。 Teams でカスタム アプリをアップロードし、Teams 環境でプレビューできるようになりました。

Teams でアプリをプレビューするには:

  1. アプリ パッケージを作成します。

    アプリ パッケージは、アプリ マニフェストとアプリ アイコンを含む ZIP ファイルです。

  2. Teams を開きます。

  3. [アプリ]>[アプリの管理]>[アプリのアップロード] を選択します。

    アプリをアップロードするオプションが表示されます。

  4. [ カスタム アプリのアップロード] を選択して、カスタム アプリを Teams にアップロードします。

  5. アプリ パッケージの ZIP ファイルを選択し、[追加] を選択します。

    カスタム アプリがアップロードされます。 同意ダイアログが表示され、必要なアクセス許可が通知されます。

  6. [続行] を選択します。

    ボットの同意メッセージ

Teams によってアプリが開き、それを使用できます。

おめでとうございます。 ボットまたはメッセージ拡張機能アプリの SSO を有効にしました。

開発者ポータルでの SSO サポート

開発者ポータルで SSO 対応アプリをアップロードすることもできます。 インポートした後に開発者ポータルで SSO サポートを有効にするには:

  1. 開発者ポータルを開きます。

  2. [ ツール] を選択し、表示されるアプリの一覧からアプリを選択して開発者ポータルで開きます。

  3. [構成] を選択します。

    [ 構成] ページが表示されます。

  4. [Microsoft Entra ID] に構成したメッセージング エンドポイントを [エンドポイント アドレス] として入力します。

    ボット アプリでの SSO に対する開発者ポータルのサポート

  5. [保存] を選択します。

開発者ポータルでは、アプリの SSO がサポートされるようになりました。