Какой тип гранта OpenId следует использовать в приложении MVC? Код? Учетные данные клиента?

С помощью ASP.NET Core 5, Angular 10 и Identity Server 4 я создал 4 приложения:

  1. Аутентификация с использованием Identity Server 4;
  2. API Asp.Net Core 5
  3. Asp.Net Core 5 MVC
  4. Угловой 10 СПА

В приложении Angular (4) я использую клиентский JS OIDC и тип предоставления кода.

Приложение Asp.Net Core 5 MVC (3) также требует доступа к API ...

Я использую модель идентификации, но какой тип гранта мне следует использовать в приложении MVC?

Код как в приложении Angular (это возможно?)? Учетные данные клиента?

1 ответ

Решение
  1. Если вы входите в систему в приложении MVC и хотите вызвать API от имени пользователя, используйте Codeтечь. В этом случае единственная разница между приложениями MVC и angular заключается в том, что Asp.Net Core 5 MVC является конфиденциальным клиентом, и вы можете использовать Codeтечь. Но Angular 10 SPAclient - это общедоступный клиент, и вам следует использовать Code + PKCE. Тем не менее, в обоих случаях рекомендуется использовать PKCE.

  2. Если вы просто вызываете API через MVC и как само приложение, а не от имени пользователя, вы можете использовать поток учетных данных клиента. Этот поток предназначен для сценариев от сервера к серверу и является безопасным. В этом случае вам также следует выполнить авторизацию для приложения MVC.

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