允许第 3 方客户端 Web 应用程序(而非用户)以及我自己的 Web 客户端应用程序访问我的 Web api 的最佳方式是什么?
What is the best way to allow 3rd-party client web applications (not users) as well as my own web client app to access my web api?
我一直在研究为新项目执行 AuthN 和 AuthZ 的最佳方式,但没有找到任何似乎适合该项目要求的方法。
我有一个 .net 核心 API 项目,最初需要仅由我的 Razor Pages Web 应用程序(单独的项目)访问。
在不久的将来,我还需要让第 3 方应用程序也可以访问 API(这样,如果用户登录到这个第 3 方应用程序,他就可以自动访问我的 API 而不必再次输入 UN/PW - 这可能需要第 3 方团队进行一些开发)。
我想为我的 Razor Pages Web 应用程序中的用户和第 3 方应用程序中的用户设置不同的角色(出于授权目的)。
API 和 Razor Pages 应用将在 Azure 中 运行。
我想知道在 API 端是否可以使用一种解决方案来处理来自我的 Razor 页面的请求(优先使用从 B2C 身份验证过程中检索到的令牌)和来自其他第 3 方应用程序的请求。
我考虑过生成唯一的 JWT,将其发送到第 3 方应用程序以及我的 Razor Pages Web 应用程序,并在 API 端使用 .net 核心 jwtBearer 身份验证设置以允许 authentication/authorization(可能会将用户角色信息作为声明发送)。
这似乎不是一个好的解决方案,因为这些 JWT 值将被硬编码并且不会被更新。
请让我知道您认为什么是好的解决方案。
谢谢。
您可能需要考虑提供开箱即用身份验证的 Azure AD。 Azure AD 可用于端到端保护。您只需要通过 Azure AD 保护您的 Web API,任何需要访问您的 API 的客户端都必须通过 Azure AD 进行身份验证,并获得令牌才能访问您的 WebAPI. https://docs.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-auth-aad . To manage Authorization you can consider roles https://github.com/Azure-Samples/active-directory-dotnet-webapp-roleclaims
我一直在研究为新项目执行 AuthN 和 AuthZ 的最佳方式,但没有找到任何似乎适合该项目要求的方法。
我有一个 .net 核心 API 项目,最初需要仅由我的 Razor Pages Web 应用程序(单独的项目)访问。
在不久的将来,我还需要让第 3 方应用程序也可以访问 API(这样,如果用户登录到这个第 3 方应用程序,他就可以自动访问我的 API 而不必再次输入 UN/PW - 这可能需要第 3 方团队进行一些开发)。
我想为我的 Razor Pages Web 应用程序中的用户和第 3 方应用程序中的用户设置不同的角色(出于授权目的)。
API 和 Razor Pages 应用将在 Azure 中 运行。
我想知道在 API 端是否可以使用一种解决方案来处理来自我的 Razor 页面的请求(优先使用从 B2C 身份验证过程中检索到的令牌)和来自其他第 3 方应用程序的请求。
我考虑过生成唯一的 JWT,将其发送到第 3 方应用程序以及我的 Razor Pages Web 应用程序,并在 API 端使用 .net 核心 jwtBearer 身份验证设置以允许 authentication/authorization(可能会将用户角色信息作为声明发送)。
这似乎不是一个好的解决方案,因为这些 JWT 值将被硬编码并且不会被更新。
请让我知道您认为什么是好的解决方案。
谢谢。
您可能需要考虑提供开箱即用身份验证的 Azure AD。 Azure AD 可用于端到端保护。您只需要通过 Azure AD 保护您的 Web API,任何需要访问您的 API 的客户端都必须通过 Azure AD 进行身份验证,并获得令牌才能访问您的 WebAPI. https://docs.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-auth-aad . To manage Authorization you can consider roles https://github.com/Azure-Samples/active-directory-dotnet-webapp-roleclaims