Какой тип гранта OpenId следует использовать в приложении MVC? Код? Учетные данные клиента?
С помощью ASP.NET Core 5, Angular 10 и Identity Server 4 я создал 4 приложения:
- Аутентификация с использованием Identity Server 4;
- API Asp.Net Core 5
- Asp.Net Core 5 MVC
- Угловой 10 СПА
В приложении Angular (4) я использую клиентский JS OIDC и тип предоставления кода.
Приложение Asp.Net Core 5 MVC (3) также требует доступа к API ...
Я использую модель идентификации, но какой тип гранта мне следует использовать в приложении MVC?
Код как в приложении Angular (это возможно?)? Учетные данные клиента?
1 ответ
Если вы входите в систему в приложении MVC и хотите вызвать API от имени пользователя, используйте
Code
течь. В этом случае единственная разница между приложениями MVC и angular заключается в том, чтоAsp.Net Core 5 MVC
является конфиденциальным клиентом, и вы можете использоватьCode
течь. НоAngular 10 SPA
client - это общедоступный клиент, и вам следует использовать Code + PKCE. Тем не менее, в обоих случаях рекомендуется использовать PKCE.Если вы просто вызываете API через MVC и как само приложение, а не от имени пользователя, вы можете использовать поток учетных данных клиента. Этот поток предназначен для сценариев от сервера к серверу и является безопасным. В этом случае вам также следует выполнить авторизацию для приложения MVC.