У нас есть некоторый Web API 2, который мы используем: - внутренне через бэк-офис js SPA - и внешне с внешнего сайта партнера
Для управления авторизацией мы разработали наш код с атрибутом Authorize:
[Route("{me}/Default", Name = "UpdatePersonalAccount")]
[HttpGet]
[Authorize(Roles = "UpdatePersonalAccount")]
public async Task<string> UpdatePersonalAccount(UserInfo userInfoDTO)
{
var result = await _dbContextHandler.UsingDbContextAsync(_dbFactory,
async db => await _userServices.UpdatePersonalAccount(db, userInfoDTO, User));
var apiResult = result;
return apiResult;
}
В этом случае, например, вызывающая сторона должна иметь разрешение «UpdatePersonalAccount».Внутренние пользователи-администраторы определены в нашей системе, и мы присвоили им роль (т. Е. Группу разрешений).Когда внутренний пользователь-администратор идентифицирует себя в приложении SPA js, мы проверяем, что у него есть необходимые разрешения на уровне API.
Теперь мы намереваемся представить наш API-интерфейс внешнему партнерскому веб-сайту, и я немногозапутался, как это сделать.Вот как мы планируем выставить наш apis на внешний веб-сайт:
Создать поддельную учетную запись службы и установить ее разрешение в нашей службе внутренней авторизации кажется неправильным.Итак, я хочу знать, что является более эффективным или стандартным способом сделать это?