Я не уверен, что это полностью отвечает на ваш вопрос, и меня немного смущает то, что вы хотите. но насколько я понимаю, я следовал этой документации здесь: https://docs.microsoft.com/en-us/microsoftteams/platform/bots/how-to/authentication/add-authentication?tabs=dotnet%2Cdotnet-sample
в образце есть бот, который аутентифицируется с помощью azure объявления, он выдает журнал azure в окно каждый раз для меня в командах. Появится кнопка входа в систему, затем вы щелкнете по входу, и появится окно входа в систему, в котором вы сможете получить токен и использовать его для вызова графика и т.д. c.
Я проверил это, и когда я разговариваю с ботом, он всегда просит меня войти в систему, так что, надеюсь, это то, что вы ищете? если нет, укажите, какая часть отсутствует, спасибо
edit: инструкции предназначены для конечной точки aad v1, но если вы хотите использовать конечную точку v2, она почти такая же. просто меньше набирать, вам также необходимо ввести области, которым вы даете разрешения api, например, «User.Read User.ReadBasi c .All et c et c»
Обновление Итак, после дальнейшего обсуждения я понял, в чем была ваша проблема. вам нужно сделать следующее. в регистрации каналов бота -> настройки -> oauthconnectionsettings, запишите свои значения и удалите.
Затем создайте новый с тем же именем и этими параметрами:
service provider: Oauth 2 Generic Provider
ClientID: same as before
secret: same as before.
scope list delimiter: ' '
authorization URL Template: https://login.microsoftonline.com/common/oauth2/v2.0/authorize (Replace Common with your tenant, just because i was using common)
Auth URL Query string template (this is key): ?client_id={ClientId}&response_type=code&redirect_uri={RedirectUrl}&scope={Scopes}&state={State}&prompt=login
token url template: https://login.microsoftonline.com/common/oauth2/v2.0/token (again replace common with your tenant id)
token url query string tempalte : ?
token body template: code={Code}&grant_type=authorization_code&redirect_uri={RedirectUrl}&client_id={ClientId}&client_secret={ClientSecret}
refresh url template: https://login.microsoftonline.com/common/oauth2/v2.0/token (again replace common with your tenant id)
refresh url query string: ?
refresh body template: refresh_token={RefreshToken}&redirect_uri={RedirectUrl}&grant_type=refresh_token&client_id={ClientId}&client_secret={ClientSecret}
scopes: Mail.Read Mail.Send User.Read User.ReadBasic.All (or whatever your scopes are)