如何从另一个应用程序调用基于角色的授权web API

本文关键字:角色 授权 API web 于角色 另一个 应用程序 调用 | 更新日期: 2023-09-27 18:19:47

我有一个web API,它为每个控制器和操作使用角色授权(例如:[Authorize(Roles="test")])。

这个API是一个独立的应用程序,没有实际的MVC网站,所以没有登录方法。

假设我有一个单独的"学生"应用程序,它需要显示学校中所有现有学生的列表。在API中,我有一个基于角色的授权方法,用于从数据库中检索所有当前学生。如果"学生"应用程序(位于同一域)获得授权,我如何才能从该应用程序调用API调用?

我是否可以欺骗"学生"应用程序,让其在某个授权角色下运行?我不想使用网站用户的角色,因为只有管理员才能执行这些API调用。

如何从另一个应用程序调用基于角色的授权web API

看看本教程中关于构建OAuth 2授权服务器的内容。您可以使用授权代码授予根据API验证学生MVC应用程序。

然而,构建OAuth服务器并不是一项简单的任务。您可以查看像IdentityServer这样的完整且安全的开源产品,以帮助您实现大部分授权和身份验证逻辑。