Я разработал чат-бота Azure, который использует пользовательский веб-интерфейс API, который включает все мои диалоги, и сделал интеграцию со Skype для бизнеса.Все работает правильно, но один из диалоговых окон чат-бота запрашивает данные с помощью Microsoft Graph API (например, для получения моих собраний).
В моем веб-интерфейсе C # я генерирую токен-носитель и использую его для запросаГрафик APi и в Startup.cs Я установил saveSiginToken, чтобы позже получить токен с помощью BootstrapConext.Token
public void Configuration(IAppBuilder app)
{
app.UseWindowsAzureActiveDirectoryBearerAuthentication(new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
// Azure AD Tenant
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
TokenValidationParameters = new TokenValidationParameters
{
// App ID URI
// https://company.onmicrosoft.com/MyAppName
ValidAudience = ConfigurationManager.AppSettings["ida:Audience"],
// forcer SaveSigninToken pour avoir le BootstrapContext.Token
SaveSigninToken = true
}
});
}
Когда я пытаюсь получить токен из BootstrapContext, я заметил, что он всегда равен нулю: varbootstrapContextObject = ClaimsPrincipal.Current.Identities.First (). BootstrapContext;
эта проблема появляется, только когда я использую диалог из SKype для бизнеса, однако тот же диалог кода и чат-бота работает хорошо из iOS или Android App
Как решить эту проблему главным образом с помощью авторизации между Skype для бизнеса и API Office 365?