【发布时间】:2018-02-27 17:42:28
【问题描述】:
我们有一个三层的系统,包括 API 服务器(后端)、客户端网站和最终用户。现在,身份验证发生在 API Server 上,分两种情况完成。在一种情况下,客户端网站直接使用令牌(客户端令牌)调用 API,该令牌(客户端令牌)从基于用户/密码的服务中获取,在另一种情况下,除了最终用户使用客户端网站登录 API 服务器外,但在 API 服务器上进行了身份验证客户网站除外。客户端站点获取另一个名为 Auth Token(用于最终用户调用)的令牌,然后通过发送两个提到的令牌来调用最终用户请求的 API。通过使用 Client 和 Auth Tokens,API Server 检查客户端和最终用户是否分别登录。实体及其关系如图in here
我想使用 API Manager 作为 API 服务器和客户端站点之间的网关,并使用它管理身份验证过程。 如何使用 WSO2 API Manger 实现此场景? 感谢您的回复!
【问题讨论】:
-
阅读这篇文章有点困难(一些格式和冗长会有所帮助,因为有些部分不是很清楚)。
authentication occurred on API Server other than Client Web Site是什么意思? ` 通过使用客户端和身份验证令牌` 仅使用单个令牌,但是请求的令牌(使用代码或密码 OAuth 配置文件)绑定到应用程序和用户(两者都必须有效)。只有订阅的应用程序才能使用 API) -
客户端网站是一个第三方应用程序,它放置在我们的API服务器和最终用户之间,并且本身没有实现身份验证过程(检查用户和最终用户的通行证)。在一种情况下,当用户登录到客户端网站时,它会将用户传递给 API 服务器。因此,API 服务器检查 U&P 的有效性并创建一个 Auth 令牌并为用户创建一个会话。在此之后,对于来自最终用户的每个请求,API 服务器都会检查会话映射,以确定客户端网站和最终用户是否已登录。由两个令牌执行的检查过程。
-
而在另一种场景中,客户端网站直接调用API,无需来自最终用户的任何请求。在这种情况下,身份验证令牌不存在!
标签: api authentication wso2 wso2-am