授权 Web 应用程序的用户并允许他们访问 API 服务



我想知道可以针对以下要求实现可能的安全机制。

我有一个API服务器,它有多个API服务来提供数据。 (例如图形 API(

我希望允许少数组织访问这些数据。组织有自己的网站,因此他们将代表他们验证用户。

因此,我们需要做的就是授权用户,如果他从允许的组织请求。

这可以通过OAuth实现吗?

请建议可以从中实施各种安全机制。

你看过Microsoft OWIN 吗?您可以实现自己的授权提供程序,从 OAuthAuthorizationServerProvider 继承 - 带有用户名/密码身份验证等的持有者令牌 https://georgedyrra.com/2016/09/28/using-owin-to-self-host-web-api-and-secure-endpoints/

您可以考虑要求 JWT 作为身份验证令牌。对于 API 调用,每个用户必须从自己的组织请求签名的 JWT,并将 JWT 作为授权标头包含在内。将 API 服务器设置为仅信任从这些组织签名的 JWT。通常,验证逻辑将验证令牌是否由这些组织签名,并包含匹配的令牌颁发者声明"iss",并检查过期时间。您还可以要求这些组织将您的 api 服务器列为令牌受众(包含在"aud"声明中(。如果令牌受信任且经过验证,则可以根据令牌内的其他声明进一步授权用户。

在MicroProfile社区中,我们尝试定义一种可互操作的方式来解决您描述的类似场景,https://github.com/eclipse/microprofile-jwt-auth/blob/master/spec/src/main/asciidoc/interoperability.asciidoc

相关内容

最新更新