Используйте Botauth , а не Authbot , так как проект Authbot был прекращен и не обновлен до последних изменений в структуре бота.
Теперь не использование magic number
приведет к серьезной уязвимости безопасности.Как указано в docs :
Свойство UseMagicNumber было добавлено в класс AuthenticationOptions, чтобы разрешить отключение магического числа.Однако введение этого свойства, вероятно, было ошибкой, поскольку оно представляет собой серьезную уязвимость безопасности и с тех пор было помечено как устаревшее.Чтобы объяснить уязвимость безопасности, вам нужно понять, как работает поток аутентификации.Когда определено, что у пользователя бота нет действительного токена, BotAuth генерирует URL для пользователя, чтобы инициировать поток аутентификации.Этот URL-адрес включает в себя все параметры диалога, зашифрованные в параметре состояния, поэтому контроллер обратного вызова может продолжить диалог после получения токена. Без магического номера пользователь может отправить кому-то еще этот URL и (при нажатии) получить доступ к своему токену .
Теперь, если вы все еще хотите отключить его, еще раз, хотя это не рекомендуется , то, что вам нужно сделать в Authbot устанавливает для свойства UseMagicNumber
значение false.
Код будет выглядеть примерно так:
// Initialize AuthenticationOptions and forward to AuthDialog for token
AuthenticationOptions options = new AuthenticationOptions()
{
Authority = ConfigurationManager.AppSettings["ActiveDirectory.Authority"],
ClientId = ConfigurationManager.AppSettings["ActiveDirectory.ClientId"],
ClientSecret = ConfigurationManager.AppSettings["ActiveDirectory.ClientSecret"],
ResourceId = ConfigurationManager.AppSettings["ActiveDirectory.ResourceId"],
RedirectUrl = ConfigurationManager.AppSettings["ActiveDirectory.RedirectUrl"],
UseMagicNumber = false
};
await context.Forward(new AuthDialog(new ADALAuthProvider(), options), this.ResumeAfterAuth, message, CancellationToken.None);