Я зарегистрировал приложение в Azure для платформы Microsoft Identity.Я настроил его для разрешения учетных записей MS (например, outlook.com) и в основном сделал все за несколько быстрых стартов онлайн здесь и здесь (кроме «добавления учетных данных в ваше веб-приложение»«).Я также установил флажки, которые включают неявный поток.
Я перенаправляю свое приложение React на URL для входа (используя неявный поток), я получаю, чтобы ввести свое имя пользователя, но затем я вижу
unauthorized_client: клиент не существует или не включен для потребителей.Если вы являетесь разработчиком приложения, настройте новое приложение через регистрации приложений на портале Azure по адресу https://go.microsoft.com/fwlink/?linkid=2083908
Как я уже упоминал выше, я прошел несколько быстрых запусков и прочитал о неявном потоке здесь и следовали их примерам для моего кода.
Я также попытался просто удалить регистрацию приложения и начать заново.Не повезло.
JS-код пытается реализовать неявный поток
JS-код, который перенаправляет браузер на URL, который выглядит как первый пример Microsoft на их странице неявного потока
goSignIn() {
const tenant = 'common'; // (for us with MS accounts)
const clientId = '*****';
const redir = encodeURIComponent('http://localhost:3000/signin');
const nonce = Math.round(Math.random() * 10000, 0);
const uriTemplate = 'https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?client_id={clientId}&response_type=id_token+token&redirect_uri={redirect}&scope=openid&response_mode=fragment&state={state}&nonce={nonce}';
const filledTemplate = uriTemplate
.replace('{tenant}', tenant)
.replace('{clientId', clientId)
.replace('{redirect}', redir)
.replace('{nonce}', nonce)
.replace('{state}', nonce);
console.log(filledTemplate);
window.location = filledTemplate;
}
Конфигурация приложения в Azure:
Azure -> Идентификация -> Регистрация приложений -> MyApp -> Аутентификация
- URI перенаправления: http://localhost:3000/signin(Приложение React работает на 3000, и у меня настроен маршрут для / входа)
- Не используются никакие предлагаемые перенаправления.
- Установлены неявные флажки для идентификатора токена и токена доступа
- LiveПоддержка SDK включена
- Для поддерживаемых типов учетных записей установлено значение «Учетные записи в любом каталоге организации и личные учетные записи Microsoft (например, Skype, Xbox, Outlook.com)» *
Azure -> Identity -> Регистрация приложений -> MyApp -> Права доступа API
- MS Graph
- User.Read
- Email
- Профиль
- openid
Из документов, которые я прочитал, я думал Я сделал достаточно для идентификатора.Я не уверен, что нужно сделать, чтобы заставить его работать.