Запрос клиента не разрешен в этом потоке:
AllowedGrantTypes = GrantTypes.Implicit
Забыть client.RequestPasswordTokenAsync.Вам это не нужно, и вы не можете его использовать.В неявном потоке пароль знает только пользователь.Клиент недоступен.
Предположим, что IdentityServer работает в одном домене: https://idp.mydomain.com, а клиент работает в другом месте: https://mvc.mydomain.com
Когда пользователь нажимает защищенныйна странице клиента mvc пользователь перенаправляется на IdentityServer , где пользователь входит в систему. Там пользователь вводит учетные данные, и в случае успеха пользователь возвращается клиенту в качестве известного идентификатора.
В зависимости от потока клиент в конечном итоге получает как минимум токен доступа.Этот токен важен, поскольку позволяет клиенту обращаться к ресурсу от имени пользователя .Это похоже на входной билет.
На основании токена доступа ресурс теперь знает, что ВОЗ хочет получить доступ к ресурсу.У маркера доступа есть одно утверждение, которое делает это различие, утверждение «sub».Без этого утверждения клиент не имеет доступа к ресурсу в этом потоке.
В вашей конфигурации клиенту разрешен доступ к областям «MemberApi», но ему необходимо согласие пользователя, прежде чем он действительно сможет получить доступ к ресурсу.
Если вы хотите получить токен, начинающийся с самого простого потока, то есть учетные данные клиента поток.
Это поток, в котором нет пользователя навсе.Клиент (как в программном обеспечении) может войти в систему, используя clientid + secret.При правильной настройке это приведет к токену доступа.
Теперь клиент может получить доступ к ресурсу без какого-либо взаимодействия с пользователем.Идентификационный токен недоступен, так как нет пользователя.Претензия 'sub' отсутствует.Токен обновления не поддерживается в этом потоке, он не нужен.Клиент может запросить новый токен, используя учетные данные.
Если вы хотите узнать, как работает токен обновления , в гибридном потоке пользователь регистрирует журналв дополнение к этому (если настроена область = автономно) возвращается токен обновления.
Поскольку токен доступа действителен только в течение короткого времени (зависит от времени истечения), необходимо получить новый токен.Для этого следует использовать токен обновления.Токен обновления позволяет клиенту запрашивать новый токен доступа без необходимости взаимодействия с пользователем (автономный доступ).
Новый токен доступа используется до истечения срока его действия, и необходимо запросить новый токен.Пока не истечет срок действия самого токена, но его можно настроить.
В неявном потоке токена обновления нет, но токен доступа действительно истекает.Так что вам понадобится другой способ обновить токен.Для этого вы можете использовать что-то вроде тихого обновления .
Для терминологии, пожалуйста, прочитайте документацию .
Обратите внимание на различные потоки.Все зависит от обстоятельств.Есть ли пользователь или нет, это приложение для браузера, есть ли фронтальный канал, обратный канал, требуется ли доступ в автономном режиме, может ли клиент хранить секрет?Вещи, которые необходимо учитывать перед выбором потока.
При выборе потока необходимо настроить разрешенные разрешения для клиентов.Клиент, использующий учетные данные клиента, не может получить доступ к ресурсу, если разрешен только неявный тип предоставления.
IdentityServer в основном предназначен для настройки клиентов и ресурсов.Взгляните на примеры, чтобы увидеть различные потоки и их настройку.