Статическое веб-приложение Azure с настраиваемой проверкой подлинности (Azure AD) имеет цикл входа

Я пытаюсь создать пользовательскую проверку подлинности для статического веб-приложения Azure. Я следовал руководству по назначению ролей через Graph API. У меня это работает для двух пользователей, все остальные получают цикл входа в систему.

Добавлена ​​пользовательская аутентификация в staticwebapp.config.

{
  "navigationFallback": {
    "rewrite": "/index.html",
    "exclude": ["/images/*.{png,jpg,gif}", "/css/*"]
  },
  "routes": [
    {
      "route": "/logout",
      "redirect": "/.auth/logout"
    },
    {
      "route": "/.auth/login/twitter",
      "statusCode": 404
    },
    {
      "route": "/.auth/login/github",
      "statusCode": 404
    },
    {
      "route": "/profile-management",
      "allowedRoles": ["manager"]
    },
    {
      "route": "/*",
      "allowedRoles": ["authenticated", "consultant", "manager"]
    }
  ],
  "auth": {
    "rolesSource": "/api/auth/getroles",
    "identityProviders": {
      "azureActiveDirectory": {
        "userDetailsClaim": "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name",
        "registration": {
          "openIdIssuer": "https://login.microsoftonline.com/{tenant_id}",
          "clientIdSettingName": "Aad_Client_Id",
          "clientSecretSettingName": "Aad_Client_Secret"
        },
        "login": {
          "loginParameters": ["resource=https://graph.microsoft.com"]
        }
      }
    }
  },
  "responseOverrides": {
    "401": {
      "redirect": "/.auth/login/aad",
      "statusCode": 302
    }
  }
}

Идентификатор клиента из регистрации приложения задается в параметрах приложения Статического веб-приложения Azure, а секрет задается в параметрах приложения как ссылка на хранилище ключей. Статическое веб-приложение Azure добавляется в хранилище ключей Azure через управляемое удостоверение.

Статическое веб-приложение Azure — Параметры приложения

Статическое веб-приложение Azure — регистрация приложений

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
1
0
169
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

я удалил разрешение User.Read в регистрации приложения. Два пользователя вошли в систему до удаления, поэтому у них был доступ. Другие пользователи не могли дать согласие, потому что разрешения не было. Устранена проблема путем добавления разрешения User.Read при регистрации приложения, чтобы пользователь мог дать согласие на это разрешение.

Другие вопросы по теме

Ищете лучший способ аутентификации Google Cloud Function с помощью сервисной учетной записи. Прямо сейчас я храню json-файл учетных данных на бэкэнде
Плагин Amplify Auth для ошибки Flutter «Плагин не добавлен»
Проверка кода spring boot mfa totp при входе в систему не работает
Могу ли я запустить аутентификацию классической карты Mifare по адресу, хранящемуся в блоке значений?
Как перенаправить пользователя на страницу входа, если срок действия токена истек
Как я могу войти в свою пользовательскую модель пользователя? AuthenticationForm или моя собственная пользовательская форма входа не будут проверяться
Flutter и Supabase - глубокая ссылка OAuth не работает
Nextjs-auth0: обновить сеанс пользователя (без выхода/входа) после обновления user_metadata
FastAPI - невозможно получить токен аутентификации из объекта запроса промежуточного программного обеспечения
Почтовый запрос Axios для маршрута 'appName/v1/users/' (Джосер) выдает ошибку 401, но Почтальон не