Microsoft Teams Bot (Microsoft 365 Agent SDK) SSO не показывает всплывающее окно для регистрации после подписи, всегда пC#

Место общения программистов C#
Ответить
Anonymous
 Microsoft Teams Bot (Microsoft 365 Agent SDK) SSO не показывает всплывающее окно для регистрации после подписи, всегда п

Сообщение Anonymous »

Я строю бот Microsoft Teams, использующий агент Microsoft 365 SDK (не старый Bot Framework SDK). < /p>
Бот использует команды SSO: < /p>
  • Когда пользователь устанавливает бот в команды, они видят входную карту, к карте Authure Aps, и к приложению. Весь этот процесс входов и выхода обрабатывается самим SDK с тех пор, как я включил AutoSignin. /> проблема < /strong> < /p>

    Производительный развод Повторно переоценивает ту же учетную запись.https://login.microsoftonline.com/{tena ... 2.0/logout) только очищает сеанс браузера. Команды Desktop/Mobile по -прежнему молча входят в систему с учетной записью кэшированной."AgentApplication": {
    "UserAuthorization": {
    "DefaultHandlerName": "auto",
    "Handlers": {
    "auto": {
    "Settings": {
    "AzureBotOAuthConnectionName": "teams_sso",
    "OBOConnectionName": "ServiceConnection"
    }
    }
    }
    }
    },
    "Connections": {
    "ServiceConnection": {
    "Settings": {
    "AuthType": "FederatedCredentials",
    "AuthorityEndpoint": "https://login.microsoftonline.com/{{TenantId}}",
    "ClientId": "{{ClientId}}",
    "FederatedClientId": "{{ManagedIdentityClientId}}",
    "Scopes": [
    "https://api.botframework.com/.default"
    ]
    }
    }
    },
    < /code>
    подписать код: < /p>
    await UserAuthorization.SignOutUserAsync(turnContext, turnState, cancellationToken: cancellationToken);
    < /code>
    Я попытался очистить сеанс Azure AD после подписки, но он только очищает сеанс браузера. Это работает, как и ожидалось в Teams Web, но в командах настольных и мобильных устройств процесс входа в систему обрабатывается клиентом команд, поэтому пользователь молча переоценивается с предыдущей учетной записью. Однако, поскольку поток входа полностью обрабатывается внутренне с помощью агента Microsoft 365 SDK, я не уверен, где или как указать эту подсказку = select_account параметр в коде бота.
public async Task OnSignOutMessage(ITurnContext turnContext, ITurnState turnState, CancellationToken cancellationToken)
{
await UserAuthorization.SignOutUserAsync(turnContext, turnState, cancellationToken: cancellationToken);

var tenantId = botOptions.TenantId;
var logoutUrl = $"https://login.microsoftonline.com/{tena ... 2.0/logout";

var card = new HeroCard
{
Text = "You have been signed out from the app. To fully clear your Microsoft login session, click below:",
Buttons = new List
{
new CardAction(ActionTypes.OpenUrl, "Sign out completely", value: logoutUrl)
}
};

logger.LogInformation($"User signed out. Logout URL: {logoutUrl}");
await turnContext.SendActivityAsync(MessageFactory.Attachment(card.ToAttachment()), cancellationToken);
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... popup-afte
Ответить

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

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

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

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

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