Вместо того, чтобы пытаться определить, доступен ли тихий вход в систему, вы должны передать PlatformBehavior.Auto
параметру PlatformParameters
AcquireToken
.
Проблема в том, что adal.jsфактически не поддерживает необходимую перегрузку, и вы не можете указать это значение как extraQueryParameter
.Какое-то время я думал, что вы можете использовать параметр запроса prompt
, но это не так.
На первый взгляд кажется, что вы не можете сделать это тогда.Но ваше сообщение об ошибке дает подсказку.
Из исходного кода adal.js я вижу, что сообщение отображается в таком состоянии:
if (!this._user && !(this.config.extraQueryParameter && this.config.extraQueryParameter.indexOf('login_hint') !== -1)) {
this.warn('User login is required');
callback('User login is required', null, 'login required');
return;
}
И в эта статья , login_hint
описывается так:
Может использоваться для предварительного заполнения поля имени пользователя / адреса электронной почты на странице входа для пользователя, еслиВы знаете их имя пользователя заранее.Часто приложения будут использовать этот параметр во время повторной аутентификации, уже извлечя имя пользователя из предыдущего входа, используя утверждение предпочитаемого_пользователя.
... все это имеет большой смысл, когда вы 'Вы пытаетесь выполнить тихую аутентификацию, но все же должны сказать, для кого вы аутентифицируетесь.
Чтобы наконец ответить на вопрос, кажется, вам следует добавить 'login_hint=myemail@example.com'
к вашему config.extraQueryParameter
.